局域网内服务器证书申请
为了可以使用https协议访问局域网内的服务器,收集并整理了网上有关局域网证书签发的资料。
生成CA
-
创建CA使用的密钥
openssl genrsa -out ca.key
-
生成根CA证书
openssl req -new -x509 -key ca.key -out ca.crt -days 3650
-
将CA证书放入受信任的根证书颁发机构(windows系统)
签发服务器使用的证书
-
生成证书使用的密钥
openssl genrsa -out web.key
-
生成证书请求文件CSR
由于我们的服务器是通过ip地址或域名都可访问的,所以在申请证书时,需要修改默认的配置文件以添加额外信息。可以将默认的
openssl.cnf
文件复制一份后进行修改,该文件所在位置在openssl的OPENSSLDIR
目录中,可以通过openssl version -a
命令获取。# 文件名为 openssl.cnf
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = CN
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = JS
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
0.organizationName_default = Internet Widgits Pty Ltd
organizationalUnitName = Organizational Unit Name (eg, section)
organizationalUnitName_default = Nas
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_max = 64
emailAddress = Email Address
emailAddress_max = 64
[ req_ext ]
subjectAltName = @alt_names
[alt_names]
DNS.1 = *.mtnas.local
IP.1 = 192.168.50.2如果是有多个域名,则可以继续添加
DNS.2
、DNS.3
…,多个IP也同理。之后使用如下命令来生成csr文件。
openssl req -new -sha256 -out web.csr -key web.key -config openssl.cnf
-
证书签名
openssl x509 -req -in web.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
-days 365 -out web.crt -extensions req_ext -extfile openssl.cnf
参考资料
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Xiaowei's Blog!
评论