java使用带有证书和密钥库的私钥?

java使用带有证书和密钥库的私钥?,java,certificate,keystore,pki,Java,Certificate,Keystore,Pki,我有一个证书,它已使用KeyTool添加到密钥库中。我还获得了用于生产/测试环境的私钥。我知道证书使用的是公钥。我应该将密钥库和私钥放在哪里,以便命令行程序能够读取它们。下面的键读取密钥库 System.setProperty("javax.net.ssl.keyStore", "xxx.ks"); System.setProperty("javax.net.ssl.keyStorePassword", "xxx_4ps!"); System.setProperty("javax.net.ssl

我有一个证书,它已使用KeyTool添加到密钥库中。我还获得了用于生产/测试环境的私钥。我知道证书使用的是公钥。我应该将密钥库和私钥放在哪里,以便命令行程序能够读取它们。下面的键读取密钥库

System.setProperty("javax.net.ssl.keyStore", "xxx.ks");
System.setProperty("javax.net.ssl.keyStorePassword", "xxx_4ps!");
System.setProperty("javax.net.ssl.trustStore", "xxx.ks");
System.setProperty("javax.net.ssl.trustStorePassword", "xxx!");. 
我必须将程序读取的私钥放置在何处。我不熟悉公钥/私钥加密,因此如果您有任何帮助,我将不胜感激

亲切问候,,
Mateen

这些属性指向证书,只是间接指向密钥。因此,首先必须获取证书并将其放入密钥库

“javax.net.ssl.keyStore”用于带有证书的密钥库,该证书用于标识您的系统。默认情况下,无需任何其他代码,每个密钥库只能使用一个身份证书。要创建证书,您有两个选项—一个是创建自签名证书,另一个是创建CSR并将其发送给证书颁发机构进行签名

看 及 命令

创建证书后,将有与之关联的私钥和公钥

“javax.net.ssl.trustStore”指向您信任的带有证书的密钥库。这意味着您的系统将只接受具有来自此密钥库的证书或由来自此密钥库的证书签名的SSL连接。可以使用以下命令将这些经过认证的密钥添加到密钥库中:


你可以把你的密钥库放在任何你喜欢的地方。只需确保java进程可以访问它们

这些属性指向证书,只是间接指向密钥。因此,首先必须获取证书并将其放入密钥库

“javax.net.ssl.keyStore”用于带有证书的密钥库,该证书用于标识您的系统。默认情况下,无需任何其他代码,每个密钥库只能使用一个身份证书。要创建证书,您有两个选项—一个是创建自签名证书,另一个是创建CSR并将其发送给证书颁发机构进行签名

看 及 命令

创建证书后,将有与之关联的私钥和公钥

“javax.net.ssl.trustStore”指向您信任的带有证书的密钥库。这意味着您的系统将只接受具有来自此密钥库的证书或由来自此密钥库的证书签名的SSL连接。可以使用以下命令将这些经过认证的密钥添加到密钥库中:


你可以把你的密钥库放在任何你喜欢的地方。只需确保java进程可以访问它们

私钥及其相应的证书位于javax.net.ssl.keyStore中


您希望信任的证书位于javax.net.ssl.trustStore中。通常您没有自己的密钥,只使用JDK提供的默认值,在这种情况下,您根本不指定此属性。

私钥及其相应的证书位于javax.net.ssl.keyStore中


您希望信任的证书位于javax.net.ssl.trustStore中。通常,您没有自己的属性,只使用JDK提供的默认属性,在这种情况下,您根本不指定此属性。

这基本上是不相关的。他已经有了自己的私钥和证书。它解释了私钥的来源以及它与证书的关系。就盖伊来说,这听起来是合乎逻辑的解释。你的解释是不正确的。不是从证书开始,而是从生成私钥开始。而且您对信任存储的解释不包括长度大于2的证书链。这基本上是不相关的。他已经有了自己的私钥和证书。它解释了私钥的来源以及它与证书的关系。就盖伊来说,这听起来是合乎逻辑的解释。你的解释是不正确的。不是从证书开始,而是从生成私钥开始。您对信任存储的解释不包括长度大于2的证书链。