OpenSSL 证书生成主要有三步:
-
管理员生成“证书私钥‘,然后用私钥生成一份“证书请求文件“(.csr)
-
管理员将“证书请求文件“交给商业性CA签署,比如 Verisign 形成正式证书。
-
管理员在服务器上导入这个证书。
一、准备工作
根据 OpenSSL 默认配置文件,新建相应目录结构。当然你也可以修改配置文件[ca_default]部分,指定相应目录。
-
# sudo vim /usr/local/ssl/openssl.cnf #(选做,修改配置文件)
-
# mkdir -p /usr/local/ssl/demoCA
-
# cd /usr/local/ssl/demoCA
-
# mkdir private crl certs newcerts
-
# echo '01' > serial #在demoCA目录下新建serial文件并写入01。
-
# touch index.txt #在demoCA目录下新建index.txt的空文件
二、CA 根证书
2.1、生成CA根证书私钥
生成 CA 根证书 RSA 私钥,openssl genrsa 支持 des3 参数
-
# openssl genrsa -out private/cakey.pem 1024 #生成CA认证中心 RSA 私钥
2.2、生成CA根证书
利用CA私钥,生成自签署的CA证书这一步很关键,也很容易出现问题。首先相应目录结构和文件一定要准备好,然后证书格式请选择pem而非crt,另外所在目录是demoCA。
-
# openssl req -new -x509 -key private/cakey.pem -out cacert.pem
特别注意!!
国家、省、组织名一定要填写不能为空,且记住你填写的值,其他的(包括Common Name)建议为空值。
Country Name (2 letter code) [AU]:(国家)
State or Province Name (full name) [Some-State]:(洲/省)
Locality Name (eg, city) []:(城/镇)
Organization Name (eg, company) [Internet Widgits Pty Ltd]:(组织名)
Organizational Unit Name (eg, section) []:(单位名)
Common Name (eg, YOUR name) []:(httpd-ssl.conf中的ServerName 名称)
Email Address []:(邮箱)
三、SSL 服务器证书
3.1、生成服务器证书私钥
-
# openssl genrsa -out private/server.key 1024
3.2、生成服务器证书请求文件
利已生成的服务器证书私钥,生成服务器证书请求csr文件
-
# openssl req -new -key private/server.key -out crl/server.csr
特别注意!!
1、国家、省要与上面CA证书一致,否则签署时必然要失败。
2、 Common Name 此时相当重要,请输入你需要SSL支持的域名,如 localhost(域名只能一个),否则浏览器提示证书错误。
3.3、签署服务器证书
-
# cd ..
-
# openssl ca -in demoCA/crl/server.csr -out demoCA/certs/server.crt
转载自http://wangyan.org/blog/openssl-certificate-generation.html
阅读(3060) | 评论(0) | 转发(0) |