第一步:先建立一个 CA 的证书, 首先为 CA 创建一个 RSA 私用密钥, #cd /etc/pki/CA #openssl genrsa -des3 -out ca.key 1024 (由于windows系统下的ssl_module不支持加密密钥,使用openssl genrsa -out ca.key 1024) 系统提示输入 PEM pass phrase,也就是密码,输入后牢记它。 生成 ca.key 文件,将文件属性改为400。 #chmod 400 ca.key 你可以用下列命令查看它的内容, #openssl rsa -noout -text -in ca.key 利用 CA 的 RSA 密钥创建一个自签署的 CA 证书(X.509结构) #openssl req -new -x509 -days 3650 -key ca.key -out ca.crt 然后需要输入下列信息: Country Name: CN //两个字母的国家代号 State or Province Name: Guangdong //省份名称 Locality Name: Guangzhou //城市名称 Organization Name: //公司名称 Organizational Unit Name: //部门名称 Common Name: //你的姓名 Email Address: //Email地址 生成 ca.crt 文件,将文件属性改为400。 #chmod 400 ca.crt 你可以用下列命令查看它的内容, #openssl x509 -noout -text -in ca.crt 第二步:下面要创建服务器证书签署请求, #openssl genrsa -des3 -out server.key 1024 (同上windows下使用openssl genrsa -out server.key 1024) 这里也要设定pass phrase。 生成 server.key 文件,将文件属性改为400。 #chmod 400 server.key 你可以用下列命令查看它的内容, #openssl rsa -noout -text -inserver.key 用 server.key 生成证书签署请求 CSR. #openssl req -new -key server.key-out server.csr 这里也要输入一些信息,和CA中的内容类似。 至于 'extra' attributes 不用输入。 “Common Name: Chen Yang 你的姓名”这条信息请你输入你的服务器的域名或者IP地址 你可以查看 CSR 的细节 #openssl req -noout -text -inserver.csr 第三步:下面可以签署证书了 #openssl ca -config /etc/pki/tls/openssl.cnf -days 3650 -cert ca.crt -keyfile ca.key -in server.csr -out server.crt 注意需要手动创建一个CA目录结构 └─ etc └─ pki └─CA ├─newcerts ├─index.txt ├─serial 在CA中建立 index.txt 空文件, serial文件 , serial文件中可输入01 否则运行这个命令会出错:I am unable to access the ./CA/newcerts directory.... 将文件属性改为400,并放在安全的地方。 #chmod 400 server.crt 第四步:生成客户端证书 生成客户私钥: #openssl genrsa -des3 -out client.key 1024 生成客户证书 #openssl req -new -key client.key -out client.csr 签证: ##openssl ca -config /etc/pki/tls/openssl.cnf -days 3650 -cert ca.crt -keyfile ca.key -in client.csr -out client.crt 转换成pkcs12格式,为客户端安装所用 #openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.pfx (责任编辑:IT) |