证书制作一般流程
必备准备工作!!
读取或按需修改配置文件 Linux: /usr/local/ssl/openssl.cnf Mac: /System/Library/OpenSSL/openssl.cnf
# 在当前工作目录下 mkdir demoCA cd demoCA mkdir private crl certs newcerts # 以上是可选操作,取决于系统默认配置文件的配置,我的做法是取消所有子目录的设定,统一使用当前目录(省事) # 以下是必须操作 echo '01' > serial #在demoCA目录下新建serial文件并写入01。 touch index.txt #在demoCA目录下新建index.txt的空文件
制作CA根证书
-
生成CA根证书私钥
# 生成CA认证中心 RSA 私钥 openssl genrsa -out cakey.pem 2048 # 利用CA私钥,生成自签署的CA证书 openssl req -new -x509 -key cakey.pem -out cacert.pem
制作SSL服务器证书
# 制作服务器私钥(务必在本地备份保存好) openssl genrsa -out server.key 2048 # 制作CSR文件(供认证CA签署证书时使用) # 国家、省要与上面CA证书一致,否则签署时必然要失败。 # Common Name 此时相当重要,请输入你需要SSL支持的域名,如 localhost(域名只能一个),否则浏览器提示证书错误。 openssl req -new -key server.key -out server.csr # 签署服务器证书(如果是授权CA签署,则该步骤交由认证CA签署) openssl ca -in server.csr -out server.crt
X509证书转为pfx/p12格式
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt
常见基本概念
PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有:
PKCS#7 Cryptographic Message Syntax Standard
PKCS#10 Certification Request Standard
PKCS#12 Personal Information Exchange Syntax Standard
X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。
PKCS#7 常用的后缀是: .P7B .P7C .SPC
PKCS#12 常用的后缀有: .P12 .PFX
X.509 DER 编码(ASCII)的后缀是: .DER .CER .CRT
X.509 PAM 编码(Base64)的后缀是: .PEM .CER .CRT
.cer/.crt是用于存放证书,它是2进制形式存放的,不含私钥。
.pem跟crt/cer的区别是它以Ascii来表示。
pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式
p10是证书请求
p7r是CA对证书请求的回复,只用于导入
p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。
OpenSSL证书颁发过程中的CSR字段说明
字段名 | 说明 | 实例 |
Common Name (CN) | i.haolianxi.cn | |
Organization | Beijing CLeaderWin Technology Co., Ltd. | |
Organizational Unit | Beijing CLeaderWin Technology Co., Ltd. | |
City/Locality | Beijing | |
State/County/Region | Beijing | |
County | CN | |
Email address | admin@haolianxi.cn |