此方式仅为个人签名的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证书已经被生成出来了.


yizheng
301 声望27 粉丝

一蓑烟雨任平生