小编Tor*_*Tor的帖子

从远程主机自动下载 X509 证书链

我正在构建一些 .net 代码,这些代码将在我们的一台服务器上按计划无人值守地运行。其执行的一部分要求它执行一个 Java 可执行文件,该可执行文件通过 SSL 与某些 Web 资源和服务进行通信。

如果 Java 通过 SSL 执行某些操作并且它没有远程证书链中的每个证书,那么它绝对会大发雷霆。因此,在 .NET 中,我需要能够指定一个https://资源,并需要它在本地下载整个远程链。

为什么我要自动执行此操作?因为我想让部署变得简单,并且不必执行此操作 4 次,然后每次 Oracle 证书过期时都执行此操作。

我正在这样做:

 X509Certificate2 lowestCert = SecurityHelper.DownloadSslCertificate(keyDownloadLocation);

        X509Chain chain = new X509Chain();
        chain.Build(lowestCert);

        int counter = 0;
        foreach (X509ChainElement el in chain.ChainElements) {
            //Extract certificate
            X509Certificate2 chainCert = el.Certificate;

            //Come up with an alias and save location
            string alias = certBaseName + counter;
            string localLocation = Path.GetDirectoryName(
                   System.Reflection.Assembly.GetEntryAssembly().Location
                   ) + @"\" +alias + ".cer";

            //Save it locally
            SecurityHelper.SaveCertificateToFile(chainCert, localLocation); …
Run Code Online (Sandbox Code Playgroud)

c# certificate x509certificate2 x509certificate

5
推荐指数
1
解决办法
3963
查看次数