我有两个文件:
mycer.cer
mykey.key
我需要使用Java创建一个SslContext
对象,以便通过SSL连接到另一台服务器。
我正在试图找出如何直接从这些文件创建SslContext
对象。
这篇文章可能会有重复,但我尝试找到一个清晰的解释和一个创建SslContext
对象的示例,但没有找到清晰的内容。
我有两个文件:
mycer.cer
mykey.key
我需要使用Java创建一个SslContext
对象,以便通过SSL连接到另一台服务器。
我正在试图找出如何直接从这些文件创建SslContext
对象。
这篇文章可能会有重复,但我尝试找到一个清晰的解释和一个创建SslContext
对象的示例,但没有找到清晰的内容。
这个问题已经在这里得到了回答:在Java中,使用PEM文件创建SSLContext的最简单方法是什么?
我为此创建了一个库,以简化配置。它在底层使用了Bouncy Castle。请参阅以下用法:
X509ExtendedKeyManager keyManager = PemUtils.loadIdentityMaterial("certificate-chain.cer", "mykey.key");
X509ExtendedTrustManager trustManager = PemUtils.loadTrustMaterial("mycer.cer");
SSLFactory sslFactory = SSLFactory.builder()
.withIdentityMaterial(keyManager)
.withTrustMaterial(trustManager)
.build();
SSLContext sslContext = sslFactory.getSslContext();
<dependency>
<groupId>io.github.hakky54</groupId>
<artifactId>sslcontext-kickstart-for-pem</artifactId>
<version>8.0.0</version>
</dependency>
获取一个p12格式的证书,据我所知,你不能使用cert文件,有一些工具可以做到这一点(比如openssl),或者你生成并下载证书的源头可以给你一个p12格式。
openssl pkcs12 -export -in mycer.crt -inkey mykey.key -out mycer.p12 -name "mycer"
请检查下面的网址,它应该包含您想要的信息。
希望这有所帮助!