OpenSSL 生成自签名证书
OpenSSL 生成自签名证书
叁月 .OpenSSL 生成自签名证书
1.安装OpenSSL
- 下载openssl.exe适用于windows的openssl安装程序
- 使用scoop直接安装
scoop install openssl
2.新建openssl.cnf文件
[ req ] |
3.新建文件cert放证书,在此目录下生成密钥,生成自签名证书
openssl req -new -x509 -nodes -days 3650 -keyout localhost.pem -out localhost.crt -config openssl.cnf |
- 输出的密钥:localhost.pem
- 输出的证书:localhost.crt
- 证明的信息:/C=CN/CN=localhost
最简单的证明信息要有
- C=CN,表示中国
- CN=ioufev.com,证书绑定域名:localhost
4.将密钥和证书合并成一个 pfx 文件,并输入文件保护密码:12345678
openssl pkcs12 -export -in localhost.crt -inkey localhost.pem -out localhost.pfx -name localhost |
- 输入的密钥:localhost.pem
- 输入的证书:localhost.crt
- 输出的 pfx 证书:localhost.pfx
- 输出证书的名字:localhost,不加 `-name localhost 的话,默认名字是 1
5. .pfx 证书和 .cer 证书
通常情况下,作为文件形式存在的证书一般有三种格式:
- 第一种:带有私钥的证书,由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以.pfx作为证书文件后缀名.
- 第二种:DER Encoded Binary (.cer) 二进制编码的证书,证书中没有私钥,DER 编码二进制格式的证书文件,以.cer作为证书文件后缀名.
- 第三种:Base64 Encoded(.cer),Base64编码的证书,证书中没有私钥,BASE64 编码格式的证书文件,也是以.cer作为证书文件后缀名.
由定义可以看出,只有pfx格式的数字证书是包含有私钥的,cer格式的数字证书里面只有公钥没有私钥.
Cer证书只包含公钥信息,如果客户端与网站通信时需要用到私钥(基本所有需要数字证书的网站都会用到私钥),则cer证书是无法正常访问网站的,网站会提示“该页要求客户证书”.由于cer证书只包含公钥信息,一般只能用于解密使用(解密该公钥对应的私钥加密的数据).在申请证书的机器上存储了私钥信息,因此,可以把CER证书导入为PFX证书,并可以把PFX证书导出,这样其他机器就可以安装PFX证书了.
Pfx证书既可以导出为pfx证书,也可以导出为cer证书.Pfx证书导出时,会提示是否导出私钥,导出私钥即pfx证书,不导出私钥就是cer证书.如果选择导出私钥,出于安全性考虑,需要指定一个密码来保护该私钥,后续再次导入该pfx证书时,需要提供保护该私钥密码,才能在机器上安装证书.
评论
匿名评论隐私政策

