我想在我自己的服务器之间安全地交换数据,这些不会离开内部域。为此,我想:
为密钥库生成密钥。
使用Keytool生成CSR,指定上面的密钥。
将响应导入我的默认cacerts
文件,以便我可以将其称为我的信任库。
所以:
keytool -genkeypair -alias mykeys -keystore mykeystore.jks -keypass changeit -storepass changeit -keysize 1024 -noprompt
keytool -certreq -alias myinternalcert -keystore mykeystore.jks -storepass changeit -file myinternalcert.csr
它会抛出以下错误:
keytool error: java.lang.Exception: Alias <myinternalcert> does not exist
我试图在甲骨文的博客中寻找示例,看起来这是正确生成CSR的方法 - 但就我的情况而言,这都是错误:)
到目前为止,我对SSL的唯一理解是:
密钥库 - 我想将自己验证到另一台服务器/客户端,我的私钥在我的密钥库中。我也会用它来签署我的证书。
信任存储 - 这是为了确定我收到的信息是来自合法来源的信息,即我是否信任它们。我在这里存储证书。
答案 0 :(得分:0)
答案 1 :(得分:-1)
好的 - 我自己的错。
实际上alias
与为keystore
创建的别名相同。 thanks to this post on Digital Ocean
keytool -certreq -help
并未真正打印出明确的信息:
选项:
-alias <alias> alias name of the entry to process (should have been "Alias of the keystore entry being used")
-sigalg <sigalg> signature algorithm name
-file <filename> output file name
-keypass <arg> key password
-keystore <keystore> keystore name
-dname <dname> distinguished name
-storepass <arg> keystore password
-storetype <storetype> keystore type
-providername <providername> provider name
-providerclass <providerclass> provider class name
-providerarg <arg> provider argument
-providerpath <pathlist> provider classpath
-v verbose output
-protected password through protected mechanism