知名设计公司网站中铁建设集团门户网门户
web/
2025/10/8 20:07:30/
文章来源:
知名设计公司网站,中铁建设集团门户网门户,套模板做网站教程,网络营销是做什么工作前言 https相较于http而言有很大的安全性#xff0c;当我们一个服务开启https并与之通信时#xff0c;往往需要证书的认证#xff0c;如果是浏览器访问服务#xff0c;只要在浏览器内设置信任证书即可#xff0c;而如果是程序内访问服务#xff08;如java程序#xff09… 前言 https相较于http而言有很大的安全性当我们一个服务开启https并与之通信时往往需要证书的认证如果是浏览器访问服务只要在浏览器内设置信任证书即可而如果是程序内访问服务如java程序则需要导入该服务的证书所信任的证书。 实际情况中内部系统的互相通信使用https往往不可能向公有CA申请证书申请证书需要很高的费用故我们需要创建一个私有CA来申请证书实现https通信。 名词介绍 CA和证书认证 详见我的一篇博文https简单解读 实现步骤 环境介绍 64位 centos 7.X操作系统装有openssl命令构建私有CA CA要给别人签发证书首先自己得有一个作为根证书我们得在一切工作之前修改好CA的配置文件、序列号、索引等等。 输入以下命令更改配置文件 vi /etc/pki/tls/openssl.cnf 配置文件更改以下部分 [ CA_default ]dir /etc/pki/CA # Where everything is kept
certs $dir/certs # Where the issued certs are kept
crl_dir $dir/crl # Where the issued crl are kept
database $dir/index.txt # database index file.
#unique_subject no # Set to no to allow creation of# several ctificates with same subject.
new_certs_dir $dir/newcerts # default place for new certs.certificate $dir/cacert.pem # The CA certificate
serial $dir/serial # The current serial number
crlnumber $dir/crlnumber # the current crl number# must be commented out to leave a V1 CRL
crl $dir/crl.pem # The current CRL
private_key $dir/private/cakey.pem # The private key
RANDFILE $dir/private/.rand # private random number file
...
default_days 3650 # how long to certify for
...
# For the CA policy
[ policy_match ]
countryName match
stateOrProvinceName optional
localityName optional
organizationName optional
organizationalUnitName optional
commonName supplied
emailAddress optional 在/etc/pki/CA目录创建两个文件index.txt和serial cd /etc/pki/CA touch index.txt serial echo 01 serial 仍在当前目录下生成一个CA私钥cakey.pem和自签证书cacert.pem openssl genrsa -out private/cakey.pem 2048
openssl req -new -x509 -key private/cakey.pem -out cacert.pem 生成公钥的时候会提示输入一些信息例子如下 Country Name (2 letter code) []:CN #国家名
State or Province Name (full name) []:hangzhou #省份名
Locality Name (eg, city) []:hangzhou #地名
Organization Name (eg, company) []:company #公司名
Organizational Unit Name (eg, section) []:unit #部门名
Common Name (eg, your websites domain name) []:localhost #服务域名
Email Address []: #电子邮件 后面一些信息可按回车略过 这里比较重要的是Comman Name填写的是服务的域名地址即如果该证书用于某个服务则填该服务的域名地址如用于百度服务器则填写www.baidu.com 本方案的CA证书不用于某个服务故可填localhost 私有CA签署证书 为一个服务生成私钥server.key和一个证书请求文件server.csr openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr 生成证书请求文件时仍会提示输入一些信息例子如下 Country Name (2 letter code) []:CN #国家名
State or Province Name (full name) []:hangzhou #省份名
Locality Name (eg, city) []:hangzhou #地名
Organization Name (eg, company) []:company #公司名
Organizational Unit Name (eg, section) []:unit #部门名
Common Name (eg, your websites domain name) []:XXX.XXX.XXX #服务域名
Email Address []: #电子邮件 这里的Common Name就应该填你实际服务所用的域名了 下面将该证书请求文件server.csr由你构建的私有CA签署生成一个server.crt证书 openssl x509 -req -in server.csr -CA /etc/pki/CA/cacert.pem -CAkey /etc/pki/CA/private/cakey.pem -CAcreateserial -out server.crt 到此为止server.crt证书可用于服务提供https访问客户端若想访问该服务导入CA根证书cacert.pem即可。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89240.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!