Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java密钥工具:将私钥插入X.509证书_Java_Key_Private_Keytool_X509 - Fatal编程技术网

Java密钥工具:将私钥插入X.509证书

Java密钥工具:将私钥插入X.509证书,java,key,private,keytool,x509,Java,Key,Private,Keytool,X509,Java的keytool是否能够导出包含私钥的X.509证书 我正在考虑一个场景,其中用户生成一个包含私钥的证书,并将其提供给签名工具。签名工具使用证书中的私钥对目标文件进行签名。最终,私钥将从证书中删除,证书将附加到目标文件以进行分发。我还不能发表评论,因此我将使用以下表单: 通常使用PKCS 12存储带有私钥的证书。此外,还可以将公钥/私钥对存储在PCKS 8容器中,并单独发送证书 如果您感兴趣,我想我有一些PKCS12存储的java代码示例 此外,开源Java证书颁发机构EJBCAhttp

Java的keytool是否能够导出包含私钥的X.509证书


我正在考虑一个场景,其中用户生成一个包含私钥的证书,并将其提供给签名工具。签名工具使用证书中的私钥对目标文件进行签名。最终,私钥将从证书中删除,证书将附加到目标文件以进行分发。

我还不能发表评论,因此我将使用以下表单: 通常使用PKCS 12存储带有私钥的证书。此外,还可以将公钥/私钥对存储在PCKS 8容器中,并单独发送证书

如果您感兴趣,我想我有一些PKCS12存储的java代码示例


此外,开源Java证书颁发机构EJBCAhttp://www.ejbca.org/ 是一个很好的例子来源。

我还不能评论,所以我将使用以下表单: 通常使用PKCS 12存储带有私钥的证书。此外,还可以将公钥/私钥对存储在PCKS 8容器中,并单独发送证书

如果您感兴趣,我想我有一些PKCS12存储的java代码示例


此外,开源Java证书颁发机构EJBCAhttp://www.ejbca.org/ 是一个很好的例子来源。

生成的私钥从未被他人出于任何目的使用或共享。
据我所知,签名工具将使用自己的私钥生成签名,以验证您的公钥。例如,您使用keytool生成密钥对并向CA提交CSR。CA将使用其自己的pvt密钥在您的证书上加盖签名。

生成的私钥从未被其他人出于任何目的使用或共享。
据我所知,签名工具将使用自己的私钥生成签名,以验证您的公钥。例如,您使用keytool生成密钥对并向CA提交CSR。CA将使用其自己的pvt密钥在您的证书上加盖签名。

命令行可执行文件的keytool没有导出私钥的选项。但是,您可以使用JSA-API以编程方式进行操作,但尚未尝试。

命令行可执行文件的keytool没有导出私钥的选项。但是,您可以使用JSA-API以编程方式进行操作,但还没有尝试。

密钥及其签名证书通常存储在密钥库容器中,如PKCS12或Java的JKS。还可以将证书和密钥提取到PEM格式的文件中,以便在Apache HTTPD等应用程序中使用

要从JKS文件中提取证书和密钥,必须先将其转换为PKCS12格式文件,然后再使用openssl提取证书:

keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.pkcs12 -deststoretype pkcs12
openssl pkcs12 -in keystore.pkcs12 -out mycert.crt -nokeys
openssl pkcs12 -in keystore.pkcs12 -out mykey.key -nocerts

密钥及其签名证书通常存储在密钥库容器中,如PKCS12或Java的JKS。还可以将证书和密钥提取到PEM格式的文件中,以便在Apache HTTPD等应用程序中使用

要从JKS文件中提取证书和密钥,必须先将其转换为PKCS12格式文件,然后再使用openssl提取证书:

keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.pkcs12 -deststoretype pkcs12
openssl pkcs12 -in keystore.pkcs12 -out mycert.crt -nokeys
openssl pkcs12 -in keystore.pkcs12 -out mykey.key -nocerts

X509证书没有私钥。这也是我最初的理解。事实证明,.NET有一个证书创建工具,可以选择将私钥包含在X.509证书中。X509证书没有私钥。这也是我最初的理解。事实证明,.NET有一个证书创建工具,可以选择将私钥包含在X.509证书中。由于我仍然无法发表评论,我想补充一点:您引用的证书创建工具不会创建包含私钥的X.509证书,它创建一个专有的未受保护的*.snk文件,其中包含证书和私钥。他们也建议使用容器来存储证书和密钥。明白了。阅读PKCS12使我意识到这将是密钥库文件使用的格式,例如允许在同一文件中存储私钥和证书对的Java密钥库。谢谢你的回复。我会在你之前的回复中提到的网站上了解更多关于这方面的信息。由于我仍然无法发表评论,我想补充一点:你提到的证书创建工具不会创建包含私钥的x.509证书,但是,它会创建一个包含证书和私钥的专有的未受保护的*.snk文件。他们也建议使用容器来存储证书和密钥。明白了。阅读PKCS12使我意识到这将是密钥库文件使用的格式,例如允许在同一文件中存储私钥和证书对的Java密钥库。谢谢你的回复。我将在您之前的回复中引用的网站上了解更多关于此的信息。名为PEM的文件,包含私钥和公钥。名为PEM的文件,包含私钥和公钥