在公钥加密中生成密钥

时间:2015-02-26 14:11:08

标签: encryption cryptography public-key-encryption keytool

我们的应用程序依赖于其他几个团队,例如SSO团队。因此,为了使我们的应用程序使用SSO(登录)服务,我们执行以下操作:

在以下示例中,密钥库和目标存储密码是“密码”

keytool -genkey -alias App_env1 -keyalg RSA -keystore keystore_App_env1.jks -keysize 2048 -validity 365

keytool -importkeystore -srckeystore keystore_App_env1.jks -destkeystore app_env1.p12 -srcstoretype jks -deststoretype pkcs12

keytool -export -alias App_env1 -keypass Passcode -keystore keystore_App_env1.jks -storepass Passcode -rfc -file MyApp_env1.pem

运行第一行后,我得到一个JSK文件。

执行第二行后,我得到一个P12文件

执行第三个文件后,我得到一个PEM文件。

我们的应用程序构建包含P12文件,我们将PEM文件移交给SSO团队。

我的问题是:

  1. 为什么生成JSK文件?
  2. 为什么我们的应用程序保留P12文件并将PEM文件移交给SSO团队?
  3. 公钥位于哪个文件中?
  4. 私钥驻留在哪个文件中?

1 个答案:

答案 0 :(得分:0)

我将按顺序回答问题:

  1. 这是一个很好的问题,只应生成PKCS#12文件;
  2. 因为PEM文件是ASCII装甲并且包含包含公钥的证书,而P12文件也包含私钥;
  3. 见2;
  4. 见2。