博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何生成自签名SAN/UCC证书
阅读量:5065 次
发布时间:2019-06-12

本文共 2118 字,大约阅读时间需要 7 分钟。

一、环境介绍

     操作系统:
         Red Hat Enterprise Linux Server release 7.1 (Maipo)
     openssl 版本:
         openssl-1.0.1e-51.el7_2.5.x86_64
 
二、生成自签名证书过程
  
 
    # 建立工作目录
    mkdir /opt/ssl_san && cd /opt/ssl_san
    mkdir ca cert && cd ca
 
    # 生成CA私钥
    openssl genrsa -out ca.key 2048
   
    # 生成CA证书
    openssl req -new -x509 -days 36500 -key ca.key -out ca.crt -subj "/C=CN/ST=Shanghai/L=Shanghai/O=killingwolf/OU=killingwolf/emailAddress=killingwolf@qq.com"
 
    # 生成nginx私钥
    cd ../cert/
    openssl genrsa -out nginx.key 2048
 
    # 生成san证书配置文件
    cat >san.cfg<<EOF
    [ req ]
    default_bits       = 2048
    default_keyfile    = nginx.key # name of the keyfile
    distinguished_name = req_distinguished_name
    req_extensions     = req_ext
    [ req_distinguished_name ]
    countryName                 = Country Name (2 letter code)
    countryName_default         = CN
    stateOrProvinceName         = State or Province Name (full name)
    stateOrProvinceName_default = Shanghai
    localityName                = Locality Name (eg, city)
    localityName_default        = Shanghai
    organizationName            = Organization Name (eg, company)
    organizationName_default    = killingwolf
    commonName                  = Common Name (e.g. server FQDN or YOUR name)
    commonName_max              = 64
    organizationalUnitName      = Organizational Unit Name (eg, section)
    organizationalUnitName_default  = killingwolf
    commonName          = Common Name (eg, YOUR name)
    commonName_default      = www.killingwolf.com
    commonName_max          = 64
    emailAddress            = Email Address
    emailAddress_max        = 64
    emailAddress_default    = killingwolf@qq.com
    [ req_ext ]
    subjectAltName = @alt_names
    [alt_names]
    DNS.1 = killingwolf.com
    DNS.2 = *.killingwolf.com
    DNS.3 = *.ben.com
    EOF
 
    # 生成请求(csr)文件,如果要购买权威机构证书的话,将csr文件提交给权威机构即可。
    openssl req -new   -key nginx.key -out nginx.csr  -config san.cfg  -subj "/C=CN/ST=Shanghai/L=Shanghai/O=killingwolf/OU=killingwolf/CN=ww.killingwolf.com"
 
    # 检查生成的请求文件。
    openssl req -in nginx.csr -text -noout | grep DNS
 
    # 用自己的CA证书签名
    openssl x509 -req -in nginx.csr -CA ../ca/ca.crt -CAkey ../ca/ca.key -CAcreateserial -out nginx.crt -extensions req_ext -extfile san.cfg
 
    # 检查签名的证书
    openssl x509 -in nginx.crt -text -noout | grep DNS
 

 

三、如何使用生成的证书?
  3.1 将自己的ca.crt文件导入到浏览器受信任证书列表里。
     3.2 将nginx.crt, nginx.key配置到nginx/apache等服务器上。

转载于:https://www.cnblogs.com/killingwolf/p/6066982.html

你可能感兴趣的文章
基于iSCSI的SQL Server 2012群集测试(一)--SQL群集安装
查看>>
list 容器 排序函数.xml
查看>>
Activity启动过程中获取组件宽高的五种方式
查看>>
java导出Excel表格简单的方法
查看>>
SQLite数据库简介
查看>>
利用堆实现堆排序&amp;优先队列
查看>>
Mono源码学习笔记:Console类(四)
查看>>
Android学习路线(十二)Activity生命周期——启动一个Activity
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
二十六、Android WebView缓存
查看>>
django Models 常用的字段和参数
查看>>
linux -- 嵌入式linux下wifi无线网卡驱动
查看>>
SVN使用教程总结
查看>>
SQL中varchar和nvarchar有什么区别?
查看>>
OpenCV矩阵运算总结
查看>>