这有点棘手。首先可以使用keytool将私钥转成 PKCS12 格式,这种格式比 Java 的各种 keystore 格式更便携/兼容。这是一个示例,在 Java 密钥库中使用别名为“mykey”的私钥并将其复制到名为myp12file.p12
. [请注意,在大多数屏幕上,此命令超出了框的右侧:您需要向右滚动才能看到全部内容]
keytool -v -importkeystore -srckeystore .keystore -srcalias mykey -destkeystore myp12file.p12 -deststoretype PKCS12
Enter destination keystore password:
Re-enter new password:
Enter source keystore password:
[Storing myp12file.p12]
现在该文件myp12file.p12
包含 PKCS12 格式的私钥,许多软件包可以直接使用该私钥,也可以使用openssl pkcs12
命令进一步处理。例如,
openssl pkcs12 -in myp12file.p12 -nocerts -nodes
Enter Import Password:
MAC verified OK
Bag Attributes
friendlyName: mykey
localKeyID: 54 69 6D 65 20 31 32 37 31 32 37 38 35 37 36 32 35 37
Key Attributes: <No Attributes>
-----BEGIN RSA PRIVATE KEY-----
MIIC...
.
.
.
-----END RSA PRIVATE KEY-----
打印出未加密的私钥。
请注意,这是一个私钥,您有责任了解将其从 Java 密钥库中删除并移动它所带来的安全隐患。