openssl制作带扩展的SSL证书

1.携带crl分发点的证书

openssl ca -extensions v3_ca -in ./demoCA/user1.csr -out ./demoCA/rsa1.pem -days 3650 -CAcreateserial -CA ./demoCA/cacert.pem -CAkey ./demoCA/private/cakey.pem -CAserial serial -extfile ./demoCA/mycrl.cnf

mycrl.cnf文件内容:

crlDistributionPoints=URI:http://192.168.120.61/cacert.crl

(URI填写一个http服务器,用于下载crl文件)

2.携带AIA扩展,用于测试ocspstapling的证书

========中级CA签发==============

1、生成rsaCA 证书

openssl genrsa -des3 -out ./demoCA/private/cakey.pem 2048 #生成CA密钥(私钥)

openssl req -new -days 3650 -key ./demoCA/private/cakey.pem

### 创建SSL证书并将其导入Java KeyStore #### 准备工作 为了完成此操作,在Windows环境中需安装OpenSSL和JDK。确保环境变量配置正确以便于命令行调用。 #### 使用OpenSSL生成自签名SSL证书 通过OpenSSL可以很方便地创建自签名SSL证书。执行如下命令来生成私钥以及对应的CRT格式公钥证书: ```bash openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 365 -out server.crt ``` 这条命令会生成有效期一年(`-days 365`)的X.509格式证书`server.crt`及其对应私钥`server.key`[^2]。 #### 将CRT与KEY转换为PFX格式 由于Java KeyStore不直接接受`.crt`和`.key`文件作为输入,因此先要将它们打包成一个PFX/PKCS12文件: ```bash openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt ``` 这一步骤将会提示设置导出密码,请记住这个密码因为在后续步骤中需要用到它。 #### 安装BC库扩展KeyTool功能 某些情况下可能需要额外的支持才能处理特定类型的密钥或加密算法。可以通过下载并注册[Bouncy Castle](https://www.bouncycastle.org/latest_releases.html)的安全提供者类库至JVM以增强兼容性。 #### 导入PFX到JKS 最后利用`keytool`工具把之前得到的PFX文件转化为标准的JKS格式存储: ```bash keytool -importkeystore -srckeystore server.pfx -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS ``` 这里同样会被询问源仓库(即PFX)的访问密码;另外还需要设定目标JKS的新密码[^3]。 以上就是在Windows平台上使用OpenSSL制作SSL证书,并最终成功迁移到Java Keystore(JKS)内的全过程描述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值