随笔08

您所在的位置:网站首页 使用openssl 随笔08

随笔08

2023-03-16 08:23| 来源: 网络整理| 查看: 265

网上看到的一个生成证书的文档,mark一下。 签名一般分成两个过程:   1. 生成CA证书   2.用CA证书对服务器或者客户端证书签名。 如果在私有模式中通信,可以自己生成证书,并签名。 如果想对外使用,需要购买第三方机构发放的全球CA证书。

下面证书信息说明:   C-----国家(Country Name)   ST----省份(State or Province Name)   L----城市(Locality Name)   O----公司(Organization Name)   OU----部门(Organizational Unit Name)   CN----产品名(Common Name)   emailAddress----邮箱(Email Address)

一、 CA证书及密钥生成

方法一----直接生成CA密钥及其自签名证书 如果想以后读取私钥文件ca_rsa_private.pem时不需要输入密码,亦即不对私钥进行加密存储,那么将-passout pass:123456替换成-nodes

openssl req -newkey rsa:2048 -passout pass:123456 -keyout ca_rsa_private.pem -x509 -days 365 -out ca.crt -subj "/C=CN/ST=GD/L=SZ/O=COM/OU=NSP/CN=CA/[email protected]"

方法二----分步生成CA密钥及其自签名证书

openssl genrsa -aes256 -passout pass:123456 -out ca_rsa_private.pem 2048 openssl req -new -x509 -days 365 -key ca_rsa_private.pem -passin pass:123456 -out ca.crt -subj "/C=CN/ST=GD/L=SZ/O=COM/OU=NSP/CN=CA/[email protected]" 二、服务器证书及密钥生成 2.1 生成服务器密钥及待签名证书

方法一---直接生成 如果想以后读取私钥文件server_rsa_private.pem时不需要输入密码,亦即不对私钥进行加密存储,那么将-passout pass:server替换成-nodes

openssl req -newkey rsa:2048 -passout pass:server -keyout server_rsa_private.pem -out server.csr -subj "/C=CN/ST=GD/L=SZ/O=COM/OU=NSP/CN=SERVER/[email protected]"

方法二---分两步生成

openssl genrsa -aes256 -passout pass:server -out server_rsa_private.pem 2048 openssl req -new -key server_rsa_private.pem -passin pass:server -out server.csr -subj "/C=CN/ST=GD/L=SZ/O=COM/OU=NSP/CN=SERVER/[email protected]" 2.2 使用CA证书及密钥对服务器证书进行签名: openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca_rsa_private.pem -passin pass:123456 -CAcreateserial -out server.crt 2.3 将加密的RSA密钥转成未加密的RSA密钥,避免每次读取都要求输入解密密码

密码就是生成私钥文件时设置的passout、读取私钥文件时要输入的passin,比如这里要输入“server”

openssl rsa -in server_rsa_private.pem -out server_rsa_private.pem.unsecure 三、客户端证书及密钥生成 3.1 生成客户端密钥及待签名证书

方法一----直接生成 如果想以后读取私钥文件client_rsa_private.pem时不需要输入密码,亦即不对私钥进行加密存储,那么将-passout pass:client替换成-nodes

openssl req -newkey rsa:2048 -passout pass:client -keyout client_rsa_private.pem -out client.csr -subj "/C=CN/ST=GD/L=SZ/O=COM/OU=NSP/CN=CLIENT/[email protected]"

方法二----分两步生成:

openssl genrsa -aes256 -passout pass:client -out client_rsa_private.pem 2048 openssl req -new -key client_rsa_private.pem -passin pass:client -out client.csr -subj "/C=CN/ST=GD/L=SZ/O=COM/OU=NSP/CN=CLIENT/[email protected]" 3.2 使用CA证书及密钥对客户端证书进行签名: openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca_rsa_private.pem -passin pass:123456 -CAcreateserial -out client.crt 3.3 将加密的RSA密钥转成未加密的RSA密钥,避免每次读取都要求输入解密密码

密码就是生成私钥文件时设置的passout、读取私钥文件时要输入的passin,比如这里要输入“client”

openssl rsa -in client_rsa_private.pem -out client_rsa_private.pem.unsecure


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3