zoukankan      html  css  js  c++  java
  • [转]签发使用自签发证书--指定使用多域名、泛域名及直接使用IP地址

    在开发环境及私有环境下需要使用SSL,于是创建自签发证书,而必须支持多域名、泛域名、直接IP访问:
     

    1、使用openssl,反正这个在centos是标配了,所以自己直接在centos中操作

     2、因为要多个域名和IP,故而需要编辑一个配置文件,如下:

    [req]
    default_bits = 2048
    default_keyfile = privkey.pem
    distinguished_name = req_distinguished_name
    encrypt_key = no
    default_md  = sha256
    req_extensions = req_ext
     
    [req_distinguished_name]
    commonName_default = www.flymote.com
    commonName_max = 64
    organizationName_default = flymote Technology Co.,Ltd.
    organizationalUnitName_default = IT Support Dept
    localityName_default = NanChang
    stateOrProvinceName_default = JiangXi
    countryName_default = CN
     
    [req_ext]
    subjectAltName = @alt_names
     
    [alt_names]
    DNS.1 = flymote.com
    DNS.2 = *.flymote.com
    DNS.3 = www.flymot.com
    DNS.4 = *.flymot.com
    IP.1 = 192.168.0.198
    IP.2 = 192.168.1.198

    其中:

    commonName_default: 证书的主域名
    organizationName_default: 企业/单位名称
    organizationalUnitName_default:企业部门
    localityName_default: 城市
    stateOrProvinceName_default: 省份
    countryName_default: 国家代码,一般都是CN(大写)
    [alt_names]: 后面为备用名称列表,这个alt_names(包括req_ext)可以自己改,需req中调用
     
    配置好该文件后,保存为san.conf (名字随意定,下面用)

    3、创建根证书

     创建秘钥
    openssl genrsa -out LocalRootCA.key 2048
     生成证书并自签名
    openssl req -sha256 -new -x509 -days 3650 -key LocalRootCA.key -out LocalRootCA.crt -subj "/CN=LocalRootCA"
     

    4、使用前面的配置文件生成证书

    openssl req -new -nodes -out myreq.csr -config san.conf -subj "/" -batch
    最后域名CSR文件在myreq.csr中,域名私钥在private.pem中,这样域名的CSR 就产生了。
     

    5、下面用根证书签发

    openssl x509 -req -in myreq.csr -CA LocalRootCA.crt -CAkey LocalRootCA.key -CAcreateserial -days 3560 -out mycom.crt -extfile san.conf -extensions req_ext
     

    6、使用问题

    WEB服务器不要忘记加载SSL的模块!
    防火墙不用忘记打开SSL端口!
    配置WEB服务器时,使用mycom.crt 和 private.pem (apache还需要用上LocalRootCA.crt
    将自己的CA证书 LocalRootCA.crt,添加到操作系统的信任证书里面就OK了!可以域名、泛域名、IP访问SSL了
     
  • 相关阅读:
    Cairngorm的command并不是一直存在,而是触发一次就创建一次command类的实例
    如何利用xml实现换行
    利用ViewStack实现页面的跳转
    让TextArea的垂直滚动条总是滚到对下面
    AS"文本显示和输入"探究
    fps
    简单的按键管理类,使ctrl+enter快捷键起作用
    mc的"animationComplete"事件需要冒泡吗?
    Javascript 利用键盘上的上下左右(回车)键模拟出tab 键的功能上下左右移动焦点
    DataTable操作中的性能问题(转载)
  • 原文地址:https://www.cnblogs.com/lzpong/p/13030886.html
Copyright © 2011-2022 走看看