Java生成个人签名的SSL证书

9次阅读

共计 1047 个字符,预计需要花费 3 分钟才能阅读完成。

此方式仅为个人签名的 SSL 证书, 个人签名的版本是不受公网路由信任的, 最直接的影响是打开个人签名的 https 网站时, 页面会提示 ” 此网站不受信任, 是否添加例外 ” 之类的警告, 点击 add exception 之后才会访问进去.

而更严重的影响是, 在 service 层面. 前端发送异步请求到 service, 使用个人签名证书的 service 是无法被 https 的前端页面 (注意: HTTPS 的前端页面不能访问 http 后端 service) 调用或访问的. 前端页面的控制台会报错.

这里又涉及到另一个点, 与这个问题无关, 但也需要掌握, 即 浏览器的通远策略, 可参考 https://developer.mozilla.org…


回到我们这个问题, 首先, 将路径切换到 $JAVA_HOME/bin 目录,

keytool -genkey -keyalg RSA -keysize 2048 -keystore /home/XXX.jks

注意, 此时需要输入此 keystore 的密码.
密码长度为至少 6 位

Enter keystore password:
Keystore password is too short - must be at least 6 characters
Enter keystore password:
Re-enter new password:

输入密码后, 下一步需输入一些与此 key 相关的信息.
需要注意的部分是first and last name, 因为它表示应用这个证书的域名

What is your first and last name?
  [Unknown]:  XXX.XX.com
What is the name of your organizational unit?
  [Unknown]:  XX
What is the name of your organization?
  [Unknown]:  XX
What is the name of your City or Locality?
  [Unknown]:  Dalian
What is the name of your State or Province?
  [Unknown]:  CN
What is the two-letter country code for this unit?
  [Unknown]:  CN
Is CN=XXX.com, OU=XX, O=XX, L=Dalian, ST=CN, C=CN correct?
  [no]:  y

最后一步, 密码置空直接回车即可

Enter key password for <mykey>
        (RETURN if same as keystore password):

这样, 在指定的目录下,jks 证书已经被生成出来了.

正文完
 0