opensslCA证书生成命令集合

上传人:pia****nwu 文档编号:166998344 上传时间:2022-11-02 格式:DOCX 页数:9 大小:226.17KB
返回 下载 相关 举报
opensslCA证书生成命令集合_第1页
第1页 / 共9页
opensslCA证书生成命令集合_第2页
第2页 / 共9页
opensslCA证书生成命令集合_第3页
第3页 / 共9页
点击查看更多>>
资源描述
多级证书平时我们自己签发CA证书再签发服务器证书的场景其实都非常简单。浏览器把自签CA导入后,就可以信任由这个CA直接签发的服务器证书。 但是实际上网站使用的证书肯定都不是由根CA直接签发的,比如淘宝登陆服务器使用的证书。我之前是自己写了脚本由自签CA直接签发服务器证书,为了真清楚的理解一下证书链的作用就直接使用openssl先签发2层的子CA,再由子CA去签发服务器证书。手动签发证书的脚本如下:生成自签CA# cat makerootca.sh #!/bin/bashDIR=/root/ssl.test2mkdir -p $DIR/demoCA/private,newcertstouch $DIR/demoCA/index.txtecho 01 $DIR/demoCA/serialopenssl genrsa -des3 -out $DIR/demoCA/private/cakey.pem 2048openssl req -new -x509 -days 3650 -key $DIR/demoCA/private/cakey.pem -out $DIR/demoCA/careq.pem签发二级CA的脚本cp f /root/ssl.test2# cat no2domain.sh #!/bin/bash $# -ne 1 & echo $0 NAME & exit NAME=$1DIR=/root/ssl.test2/autogetmkdir -p $DIRopenssl genrsa -des3 -out $DIR/$NAME.key 2048openssl x509 -in $DIR/./demoCA/careq.pem -noout -textopenssl rsa -in $DIR/$NAME.key -out $DIR/$NAME.keyopenssl req -new -days 3650 -key $DIR/$NAME.key -out $DIR/$NAME.csropenssl ca -extensions v3_ca -in $DIR/$NAME.csr -config $DIR/./f -days 3000 -out $DIR/$NAME.crt -cert $DIR/./demoCA/careq.pem -keyfile $DIR/./demoCA/private/cakey.pem签发三级CA的脚本# cat no3domain.sh #!/bin/bash# $# -ne 1 & echo $0 NAME & exit NAME=calv3DIR=/root/ssl.test2/autogetopenssl genrsa -des3 -out $DIR/$NAME.key 2048openssl x509 -in $DIR/./demoCA/careq.pem -noout -textopenssl rsa -in $DIR/$NAME.key -out $DIR/$NAME.keyopenssl req -new -days 3650 -key $DIR/$NAME.key -out $DIR/$NAME.csropenssl ca -in $DIR/$NAME.csr -extensions v3_ca -config $DIR/./f -days 3000 -out $DIR/$NAME.crt -cert $DIR/calv2.crt -keyfile $DIR/calv2.key由三级CA签发服务器证书的脚本# cat no4domain.sh#!/bin/bash $# -ne 1 & echo $0 NAME & exitNAME=$1DIR=/root/ssl.test2/autogetopenssl genrsa -des3 -out $DIR/$NAME.key 2048openssl x509 -in $DIR/./demoCA/careq.pem -noout -textopenssl rsa -in $DIR/$NAME.key -out $DIR/$NAME.keyopenssl req -new -days 3650 -key $DIR/$NAME.key -out $DIR/$NAME.csropenssl ca -in $DIR/$NAME.csr -config $DIR/./f -days 3000 -out $DIR/$NAME.crt -cert $DIR/calv3.crt -keyfile $DIR/calv3.keyopenssl pkcs12 -export -inkey $DIR/$NAME.key -in $DIR/$NAME.crt -out $DIR/$NAME.p12openssl x509 -in $DIR/$NAME.crt -noout -text $DIR/$NAME.txt sh当我们把使用三级CA签发的服务器证书配置在nginx 上时,在已经导入根CA的浏览器上肯定是会遇到证书报警的,然后依次把三级CA(no3.crt )和二级CA(no2.crt)追加到服务器证书后面,浏览器ssl链接成功,点击证书查看如下图:=weigwTEST src$ openssl rsa -in privatekey.key -pubout -out pubkey.key writing RSA key格式转换:(证书、私钥、公钥)(PEM DER)weigwTEST src$ openssl x509 -in cacert.crt -inform. PEM -out cacert.der -outform. DERweigwTEST src$weigwTEST src$ openssl rsa -in privatekey.key -inform. PEM -out privatekey.der -outform. DERwriting RSA keyweigwTEST src$ openssl rsa -pubin -in pubkey.key -inform. PEM -pubout -out pubkey.der -outform. DERwriting RSA key从DER格式转换成PEM格式一样,就是把inform的格式改成DERoutform的格式改成PEM即可。openssl x509 -in asdfaa.pem -noout textopenssl req -in root-req.csr -noout -textopenssl rsa in *.key=一、PFX证书生成:CA:IP路径:/etc/pki/CA/newcerts步骤:cd /etc/pki/CA/newcerts#生成用户的RSA密钥对opensslgenrsa-des3-outuserkey.pem #生成用户证书请求opensslreq-new-days365-keyuserkey.pem-outuserreq.pem#使用CA签发用户证书opensslca-inuserreq.pem-outusercert.pem#生成PFX证书:openssl pkcs12 -export -inkey z_key.pem -in z.pem -out z.p12#从PFX证书导出公钥(仅公钥):openssl pkcs12 -inuser.pfx -out certificate.cer -nodes二、crt证书生成:openssl CA 服务器:IP:路径:/var/MyCA命令(注:前两条命令不需要再执行了,只执行最后一条命令即可,绿色字段根据实际改动):openssl genrsa -des3 -out server.key 2048openssl req -new -x509 -key server.key -out ca.crt -days 3650openssl x509 -req -days 3650 -in z.req -CA root-cert.pem -CAkey root-key.pem -CAcreateserial -out z.pemopenssl命令生成CA证书环境:制作数字证书本系统的开发涉及到的证书主要是X.509和PKCS#12两种格式的证书,其证书的结构如下:证书生成过程 生成证书的相关命令:(1)创建私钥 :Openssl命令:openssl genrsa -out root-key.pem 1024 说明:root-key里应该是有一对密钥,即public-private密钥对。(2)创建证书请求 Openssl命令:openssl req -new -out root-req.csr -key root-key.pem 说明:创建证书请求时,需要从root-key.pem里提取public key, 创建除证书之外的其他证书,要使用自己的key文件。(3)自签署证书 :Openssl命令:openssl x509 -req -in root-req.csr -out root-cert.pem -signkey root-key.pem -days 365说明:用root-key.pem进行签署证书请求,有效期为365天,如果有CA,此步骤应该由CA来做。(4)其它证书用CA来签署Openssl命令:openssl x509 -req -in a-req.csr -out a-cert.pem -CA root-cert.pem -CAkey root-key.pem -CAcreateserial -days 365说明:用CA来签发其它证书。(5)将pem证书和private key合成p12格式 :Openssl命令:openssl pkcs12 -export -clcerts -in a-cert.pem -inkey a-key.pem -out a.p12 说明:将pem证书和private key合成p12格式,只有发送证书持有者才能用自己的密码来提取私钥。 按照如上的命令生成自签名的根证书和根证书rootCA.p12颁发发的发送方证书sender.p12、接收方证书recver.p12。 最后把生成的p12格式的证书导入IE里,直接双击p12格式的证书安装即可。再用IE导出DER格式的cer证书,打开IE浏览器“Internet选项”,选择“内容”,选择“证书”,接着选择所要导出的证书导出,注意导出证书的导出格式选择“DER编码的二进制X.509(.CER)”。截图如下:建立CAcd /etc/pki/tls/misc./CA newca回车,输入保护密钥的密码,输入CA信息,输入保护密钥的密码(123456),CA证书文件/etc/pki/CA/cacert.pem/etc/pki/CA/private/cakey.pemcd /etc/pki/CA/crlopenssl ca -revoke /root/ca2/z.pem -config fopenssl ca -gencrl -out crl.crl -config f1、创建环境 cd /home/ssl mkdir -p ca/demoCA ca/key ca/req ca/cert; cd ca/demoCA mkdir private newcerts; touch index.txt; echo 01 serial; cd ./2、自己签订CA证书 openssl genrsa -out ./demoCA/private/cakey.pem 2048 openssl req -new -x509 -days 3653 -key ./demoCA/private/cakey.pem -out ./demoCA/cacert.pem -config f -sha13、修改f文件内容,使生成的本地证书中包括IP地址以及FQDN以及Email地址信息 vi /usr/share/ssl/f: # This stuff is for subjectAltName and issuerAltname. # Import the email address. subjectAltName=IP:200.0.0.1,DNS:nokia.neusoft,email:copy 注意:(1)、subjectAltName部分原来是被注释掉的,需要去掉该行前面的#号 (2)、IP地址为生成请求的防火墙基于证书协商的通道所使用的本端IP地址 (3)、FQDN为生成请求的防火墙基于证书协商的通道所 使用的完全合格域名(FQDN),通常是设备的hostname+domain name4、生成本地证书 openssl genrsa -out key/key.pem 1024 openssl req -new -key key/key.pem -out req/req.pem -config f openssl ca -days 1000 -in root-req.csr -out demoCA/ cacert-lv2.pem -config f 注意:(1)如果请求是在外部生成的,例如在nokia防火墙中生成请求, 前两个命令不用执行,只需要执行第三步 (2)必须保证IP地址和DNS和证书请求生成的防火墙上的配置一致, 如果不一致,需要按照步骤3中方法修改f文件,使之一致 (3)证书请求中的主题部分除common-name 和email-address 部分可以与CA中的不一致外,其它需要和CA中的相应字段保持一致,否则生成失败5、生成CRL列表 openssl ca -gencrl -cert demoCA/cacert.pem -keyfile demoCA/private/cakey.pem -out cert/crl.crl6、转换成PK12格式 openssl pkcs12 -export -inkey key/key.pem -certfile demoCA/cacert.pem -in cert/cert.pem -out cert/cert12.pfx7、验证证书 openssl verify -CAfile ./demoCA/cacert.pem cert/cert.pem8、验证CRL列表 openssl crl -CAfile cacert.pem -in crl.crl 拷贝 f 每条命令加选项-config f其实只签发本地证书的时候需要用上述选项,因为openssl ca命令默认会找另外一个cakey.pem#分割线#cnlnsyneucompanyneteyesection部门neteyehostnameemailopenssl x509 -in server.pem -out server.cer转换成x509
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 中学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!