Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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 Can';t生成要签名的密钥库,keystool和oppen之间的区别是什么_Java_Ssl_Keytool - Fatal编程技术网

Java Can';t生成要签名的密钥库,keystool和oppen之间的区别是什么

Java Can';t生成要签名的密钥库,keystool和oppen之间的区别是什么,java,ssl,keytool,Java,Ssl,Keytool,我正在尝试生成一个密钥和CSR,我可以使用我的根密钥进行签名。 我找到了两种方法,但不知道有什么区别: 1) you can generate a keystore using key tool and then it's CSR. keytool -genkey -alias [enter_alias_name] -keyalg RSA -keystore [enter_keystore_name] -keysize 2048 2)keytool -certreq -alias [alias_

我正在尝试生成一个密钥和CSR,我可以使用我的根密钥进行签名。 我找到了两种方法,但不知道有什么区别:

1) you can generate a keystore using key tool and then it's CSR.
keytool -genkey -alias [enter_alias_name] -keyalg RSA -keystore [enter_keystore_name] -keysize 2048
2)keytool -certreq -alias [alias_name] -file certreq.csr -keystore
或者使用openssl生成“密钥”

1)openssl genra -out device.key 2048
2)openssl req -new -key device.key -out device.csr
这两者有什么区别?在我签署证书时不能同时使用这两种格式吗?

TLDR:这是本地使用的文件格式;企业社会责任本身基本相同

首先,旁白:颁发证书并不是签署CSR。证书可以基于CSR,但它是由证书颁发机构的密钥签名的证书,该密钥可能是根CA密钥,也可能不是根CA密钥

Java:

keytool-genkeypair
为该密钥对生成密钥对和“伪”(自签名)证书,并将它们(一起)存储在密钥库中。尽管自签名证书在使用前通常会被“真正的”CA颁发的证书(通常是链证书)替换,但它是创建的,因为用于密钥库的Java API需要它;这就是为什么
-genkeypair
会提示输入几个名称字段的原因(除非您指定
-dname
)。Java支持多种密钥库;通过Java8,默认为JKS格式的文件,尽管计划在Java9中更改。一个JKS文件可以包含多个条目,每个条目为您自己包含一个密钥加证书链组合,或为其他人包含一个“受信任”证书,通常是CA根。JKS中的私钥使用密码进行加密,整个JKS也使用密码进行保护(MACE)。它们被指定为
keypass
storepass
,可以不同,但默认情况下是相同的,因此提示
输入密钥密码。

TLDR:这是本地使用的文件格式;企业社会责任本身基本相同

首先,旁白:颁发证书并不是签署CSR。证书可以基于CSR,但它是由证书颁发机构的密钥签名的证书,该密钥可能是根CA密钥,也可能不是根CA密钥

Java:


keytool-genkeypair
为该密钥对生成密钥对和“伪”(自签名)证书,并将它们(一起)存储在密钥库中。尽管自签名证书在使用前通常会被“真正的”CA颁发的证书(通常是链证书)替换,但它是创建的,因为用于密钥库的Java API需要它;这就是为什么
-genkeypair
会提示输入几个名称字段的原因(除非您指定
-dname
)。Java支持多种密钥库;通过Java8,默认为JKS格式的文件,尽管计划在Java9中更改。一个JKS文件可以包含多个条目,每个条目为您自己包含一个密钥加证书链组合,或为其他人包含一个“受信任”证书,通常是CA根。JKS中的私钥使用密码进行加密,整个JKS也使用密码进行保护(MACE)。它们被指定为
keypass
storepass
,可以不同,但默认情况下是相同的,因此,提示
输入密钥密码。

这些命令的用途基本相同,可用于生成私钥和向CA发出的CertificateSigningRequest。
keytool
还将密钥导入密钥库。为什么您“无法生成密钥库进行签名”?这些命令的用途基本相同,可用于生成私钥和向CA发出的CertificateSigning请求。
keytool
还将密钥导入密钥库。为什么“无法生成要签名的密钥库”?