我在 Azure keyvault 中创建了一个证书。 csr 由 CA 签名,我将 CA 的响应合并回 keyvault。
我可以使用 az keyvault 下载证书下载 crt,但现在如何提取私钥,以便我可以将此证书用于 httpd 服务器。
使用 az keyvault Secret show 给出 Base64 字符串形式的值。如何使用它来获取私钥?
您无法导出私钥: 是否可以从 Azure Key Vault 密钥中获取私钥?
但是,您也许可以从您的 base64 生成私钥:
Java:如何从字符串生成私钥?
+
使用 DER 格式的字符串 base64 编码创建 PrivateKey 和 PublicKey
未经测试的代码,但是将其与上面的链接混合使用可能是解决方案。
import java.security.KeyFactory;
import java.security.PrivateKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.util.Base64;
public class Main {
public static void main(String[] args) throws Exception {
String privateKeyString = "**your_base64_string_here**";
byte[] privateKeyBytes = Base64.getDecoder().decode(privateKeyString);
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(privateKeyBytes);
KeyFactory kf = KeyFactory.getInstance("RSA");
PrivateKey privateKey = kf.generatePrivate(keySpec);
System.out.println(privateKey);
}
}