代码之家  ›  专栏  ›  技术社区  ›  WooHoo

在.NET核心应用程序中,是否可以从AWS证书管理器检索证书并在HttpClient帖子中使用它?

  •  0
  • WooHoo  · 技术社区  · 8 年前

    证书安装在AWS中,我有一个指向证书的ARN。

       private HttpClientHandler HttpClientHandler()
       {
            var handler = new HttpClientHandler
            {
                ClientCertificateOptions = ClientCertificateOption.Manual,
                SslProtocols = SslProtocols.Tls12
            };
            handler.ClientCertificates.Add(new X509Certificate2("cert.crt")); //TODO: fetch from AWS.
            return handler;
        }
    
    2 回复  |  直到 8 年前
        1
  •  6
  •   WooHoo    8 年前

    所以,这是可能的。

    我安装了AWSSDK.核心以及AWSSDK.认证管理器来自努杰。

    然后,我为AWS创建了一个凭证文件,参见Amazon的说明 https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html

    接下来,我使用AmazonCertificateManagerClient获取证书。

    AmazonCertificateManagerClient client = new AmazonCertificateManagerClient();
    var certificates = client.GetCertificateAsync(arn).Result;
    

    然后我将证书从字符串转换为字节,然后添加到处理程序中。

    var handler = new HttpClientHandler{
      ClientCertificateOptions = ClientCertificateOption.Manual,
      SslProtocols = SslProtocols.Tls12
    };
    
    byte[] toBytes = Encoding.ASCII.GetBytes(certificates.Certificate);
    var cert = new X509Certificate2(toBytes);
    
    handler.ClientCertificates.Add(cert); 
    var httpClient = new HttpClient(handler);
    

        2
  •  2
  •   ikkentim    8 年前

    如果使用AWS SDK,则可以使用 AmazonCertificateManagerClient the AWS SDK documentation 详细情况。(选择 Amazon.CertificateManager > Amazon证书管理器客户端 )