Class MutualTlsCertificate

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.appmesh.TlsCertificate
software.amazon.awscdk.services.appmesh.MutualTlsCertificate
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:46.132Z") @Stability(Stable) public abstract class MutualTlsCertificate extends TlsCertificate
Represents a TLS certificate that is supported for mutual TLS authentication.

Example:

 Mesh mesh;
 VirtualNode node1 = VirtualNode.Builder.create(this, "node1")
         .mesh(mesh)
         .serviceDiscovery(ServiceDiscovery.dns("node"))
         .listeners(List.of(VirtualNodeListener.grpc(GrpcVirtualNodeListenerOptions.builder()
                 .port(80)
                 .tls(ListenerTlsOptions.builder()
                         .mode(TlsMode.STRICT)
                         .certificate(TlsCertificate.file("path/to/certChain", "path/to/privateKey"))
                         // Validate a file client certificates to enable mutual TLS authentication when a client provides a certificate.
                         .mutualTlsValidation(MutualTlsValidation.builder()
                                 .trust(TlsValidationTrust.file("path-to-certificate"))
                                 .build())
                         .build())
                 .build())))
         .build();
 String certificateAuthorityArn = "arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012";
 VirtualNode node2 = VirtualNode.Builder.create(this, "node2")
         .mesh(mesh)
         .serviceDiscovery(ServiceDiscovery.dns("node2"))
         .backendDefaults(BackendDefaults.builder()
                 .tlsClientPolicy(TlsClientPolicy.builder()
                         .ports(List.of(8080, 8081))
                         .validation(TlsValidation.builder()
                                 .subjectAlternativeNames(SubjectAlternativeNames.matchingExactly("mesh-endpoint.apps.local"))
                                 .trust(TlsValidationTrust.acm(List.of(CertificateAuthority.fromCertificateAuthorityArn(this, "certificate", certificateAuthorityArn))))
                                 .build())
                         // Provide a SDS client certificate when a server requests it and enable mutual TLS authentication.
                         .mutualTlsCertificate(TlsCertificate.sds("secret_certificate"))
                         .build())
                 .build())
         .build();
 
  • Nested Class Summary

    Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject

    software.amazon.jsii.JsiiObject.InitializationMode
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
    protected
    MutualTlsCertificate(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
     
    protected
    MutualTlsCertificate(software.amazon.jsii.JsiiObjectRef objRef)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Boolean
     

    Methods inherited from class software.amazon.awscdk.services.appmesh.TlsCertificate

    acm, bind, file, sds

    Methods inherited from class software.amazon.jsii.JsiiObject

    jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • Constructor Details

    • MutualTlsCertificate

      protected MutualTlsCertificate(software.amazon.jsii.JsiiObjectRef objRef)
    • MutualTlsCertificate

      protected MutualTlsCertificate(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • MutualTlsCertificate

      @Stability(Stable) protected MutualTlsCertificate()
  • Method Details

    • getDifferentiator

      @Stability(Stable) @NotNull protected Boolean getDifferentiator()