使用OpenSSL创建自签名SSL证书

  1. 创建自签名的SSL证书和私钥
    1.1 生成私钥(key文件)
# -genra    生成RSA私钥
# -des3 des3算法
# -out server.key 生成的私钥文件名
# -2048 私钥长度
openssl genrsa -des3 -out server.pass.key 2048 # 输入一个4位以上的密码

1.2 去除私钥中的密码

# 注意:有密码的私钥是server.pass.key,没有密码的私钥是server.key
# 在第1步创建私钥的过程中,由于必须要指定一个密码。而这个密码会带来一个副作用,那就是在每次Apache启动Web服务器时,都会要求输入密码,这显然非常不方便。所以要删除私钥中的密码。
openssl rsa -in server.pass.key -out server.key

1.3 生成CSR(证书签名请求)

# -req 生成证书签名请求
# -new 新生成
# -key 私钥文件
# -out 生成的CSR文件
# -subj 生成CSR证书的参数
openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=Shanghai/L=Shanghai/O=cetc/OU=cetc/CN=gitlab.cetc.cn"
字段字段含义示例
/C=Country 国家CN
/ST=State or Province 省Shanghai
/L=Location or CityShanghai
/O=Organization 组织或企业test
/OU=Organization Unit 部门test
/CN=Common Name 域名或IPlocalhost

1.4 生成自签名SSL证书

# -days 证书有效期
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
# key是服务器上的私钥文件,用于对发送给客户端数据的加密,以及对从客户端接收到数据的解密
# csr是证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名
# crt是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有的公钥,以及签署者的签名等信息
# 备注:在密码学中,X.509是一个标准,规范了公开秘钥认证、证书吊销列表、授权凭证、凭证路径验证算法等。
  1. 将.key和.crt文件转换成.jks文件

2.1 使用openssl 工具 将 crt和key格式的证书转还成pfx

openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt
# 其中:server.pfx (转后的pfx)mycert.key,mycert.crt( crt和key格式的证书)
# 注意:该步骤需要输入密码passward,该密码2与3均需要用到

2.2 查看证书别名

keytool -list -v -keystore server.pfx

2.3 在使用jdk自带的keytool将pfx格式文件转为jks

keytool -importkeystore -srckeystore  server.pfx -srcstoretype pkcs12 -destkeystore mycert.jks -deststoretype JKS  -alias 1
# 其中:-alias(设置别名) mycert.jks(转还后jks) server.pfx(需转还的pfx)
# 注意:该步骤需要输入3次密码,均采用1中的passward。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值