首页 > 代码库 > 自签数字证书

自签数字证书

概念:

数字证书认证机构(英语:Certificate Authority,缩写为CA),也称为电子商务认证中心、电子商务认证授权机构或证书授权中心,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。

A. 制作CA证书

1. 制作ca.key CA私钥:

openssl genrsa -des3 -out ca.key 2048

ca.key是密钥文件名,是生成的rsa私钥,des3算法,openssl格式,2048位强度;-out指定生成文件的文件名。

注意:这个文件包含了公钥和密钥两部分,也就是说这个文件即可用来加密也可以用来解密。后面的2048是生成密钥的长度。

为了生成这样的密钥,中间需要一个密码。可以通过以下方法生成没有密码的key(一般无此必要):  

openssl rsa -in ca.key -out ca.key


ca.key就是没有密码的版本了。

2.用CA私钥进行自签名,得到自签名的CA根证书

openssl req -new -x509 -days 365 -key ca.key -out ca.crt

注意:碰到"Unable to load config info from /usr/local/ssl/openssl.cnf"时,请下载一个可用的openssl.cnf,并追加参数"-config openssl.cnf路径"即可.

生成证书时,需输入识别证书持有者身份的信息,下表是关于它们的缩写、说明和一些填写说明。【此部分参考了互动百科的SSL条目】(带"*"重要,必填)

DN字段名
缩写 说明(我的信息) 填写要求
Country Name C 证书持有者所在国家(CN) *要求填写国家代码,用2个字母表示
State or Province Name ST 证书持有者所在州或省份(zhejiang) 填写全称,可省略不填
Locality Name L 证书持有者所在城市(hangzhou) 可省略不填
Organization Name O 证书持有者所属组织或公司(xxx) *最好还是填一下
Organizational Unit Name OU 证书持有者所属部门(no) 可省略不填
Common Name CN 证书持有者的通用名(XXX.com) *必填。
对于非应用证书,它应该在一定程度上具有惟一性;
对于应用证书,一般填写服务器域名或通配符样式的域名。
Email Address   证书持有者的通信邮箱(xxx@xxx.com) 可省略不填



自签数字证书