diff --git a/alts/src/main/java/io/grpc/alts/internal/AltsProtocolNegotiator.java b/alts/src/main/java/io/grpc/alts/internal/AltsProtocolNegotiator.java index 52e96ccedd..edb38000dd 100644 --- a/alts/src/main/java/io/grpc/alts/internal/AltsProtocolNegotiator.java +++ b/alts/src/main/java/io/grpc/alts/internal/AltsProtocolNegotiator.java @@ -20,7 +20,9 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; import com.google.protobuf.Any; import io.grpc.Attributes; +import io.grpc.CallCredentials; import io.grpc.Grpc; +import io.grpc.SecurityLevel; import io.grpc.Status; import io.grpc.alts.internal.RpcProtocolVersionsUtil.RpcVersionsCheckResult; import io.grpc.alts.internal.TsiHandshakeHandler.TsiHandshakeCompletionEvent; @@ -122,6 +124,7 @@ public abstract class AltsProtocolNegotiator implements ProtocolNegotiator { .set(TSI_PEER_KEY, altsEvt.peer()) .set(ALTS_CONTEXT_KEY, altsContext) .set(Grpc.TRANSPORT_ATTR_REMOTE_ADDR, ctx.channel().remoteAddress()) + .set(CallCredentials.ATTR_SECURITY_LEVEL, SecurityLevel.PRIVACY_AND_INTEGRITY) .build(), new Security(new OtherSecurity("alts", Any.pack(altsContext.context)))); } diff --git a/alts/src/test/java/io/grpc/alts/internal/AltsProtocolNegotiatorTest.java b/alts/src/test/java/io/grpc/alts/internal/AltsProtocolNegotiatorTest.java index 9114964cad..8ff2abc620 100644 --- a/alts/src/test/java/io/grpc/alts/internal/AltsProtocolNegotiatorTest.java +++ b/alts/src/test/java/io/grpc/alts/internal/AltsProtocolNegotiatorTest.java @@ -24,7 +24,9 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import io.grpc.Attributes; +import io.grpc.CallCredentials; import io.grpc.Grpc; +import io.grpc.SecurityLevel; import io.grpc.alts.internal.Handshaker.HandshakerResult; import io.grpc.alts.internal.TsiFrameProtector.Consumer; import io.grpc.alts.internal.TsiPeer.Property; @@ -343,6 +345,8 @@ public class AltsProtocolNegotiatorTest { .isEqualTo(mockedAltsContext); assertThat(grpcHandler.attrs.get(Grpc.TRANSPORT_ATTR_REMOTE_ADDR).toString()) .isEqualTo("embedded"); + assertThat(grpcHandler.attrs.get(CallCredentials.ATTR_SECURITY_LEVEL)) + .isEqualTo(SecurityLevel.PRIVACY_AND_INTEGRITY); } private void doHandshake() throws Exception {