从 X509Certificate 获取私钥
Get PrivateKey from X509Certificate
这是我使用 Let's Encrypt(基于 https://github.com/zero11it/acme-client)生成 SSL 证书的代码:
AcmeChallengeListener challengeListener = new HttpChallengeListener(sessionToken, appObjectId, userId, domains[0], "");
Acme acme = new Acme(CA_STAGING_URL, new DefaultCertificateStorage(true), true, true);
X509Certificate cert = acme.getCertificate(domains, AGREEMENT_URL, contacts, challengeListener);
String fullchain = CertificateHelper.x509ToBase64PEMString(cert);
有没有办法获取 PrivateKey
并将其作为带有 -----BEGIN PRIVATE KEY-----
和 -----END PRIVATE KEY-----
的字符串获取?所以它可以通过我们的应用程序上传到我们的 NGINX 服务器。
解决方案是修改库并像这样公开证书存储:
public CertificateStorage getCertificateStorage() {
return certificateStorage;
}
应用程序可以从这里获取 PrivateKey
这是我使用 Let's Encrypt(基于 https://github.com/zero11it/acme-client)生成 SSL 证书的代码:
AcmeChallengeListener challengeListener = new HttpChallengeListener(sessionToken, appObjectId, userId, domains[0], "");
Acme acme = new Acme(CA_STAGING_URL, new DefaultCertificateStorage(true), true, true);
X509Certificate cert = acme.getCertificate(domains, AGREEMENT_URL, contacts, challengeListener);
String fullchain = CertificateHelper.x509ToBase64PEMString(cert);
有没有办法获取 PrivateKey
并将其作为带有 -----BEGIN PRIVATE KEY-----
和 -----END PRIVATE KEY-----
的字符串获取?所以它可以通过我们的应用程序上传到我们的 NGINX 服务器。
解决方案是修改库并像这样公开证书存储:
public CertificateStorage getCertificateStorage() {
return certificateStorage;
}
应用程序可以从这里获取 PrivateKey