自建CA,并搭建https服务

参考自https://help.ubuntu.com/community/OpenSSL#SSL_Certificates

实验环境:Ubuntu 18,ssl1,1,1,Firefox

整个实验过程就是:
1.构建CA
2.创建CA自签名的根证书,与CA密钥
3.构建服务器证书
4.用CA对服务器证书签名
5.将CA根证书导入到浏览器中

如果您以前安装了 OpenSSL 工具包,X.509 SSL 证书的生成非常简单。对于自签名证书,您必须首先按照以下步骤建立证书颁发机构 (CA):

创建证书颁发机构
首先,创建初始工作环境,例如在主目录中,输入以下命令:

cd && mkdir -p myCA/signedcerts && mkdir myCA/private && cd myCA
//mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录

上述命令将您放在名为myCA目录中,在此目录中,应有两个名为signedcerts 和private 的附加目录。

在此初始工作环境中,子目录及其内容的意义如下:

/myCA :包含 CA 证书、证书数据库、生成的证书、密钥和请求

/myCA/signedcerts 证书:包含每个签名证书的副本

/myCA/private :包含私钥

接下来,在~/myCA子目录中创建初始证书数据库,在终端提示符下使用以下命令:

root@hb-virtual-machine:~/myCA# echo '01' > serial && touch index.txt

//创建index.txt,创建serial,并往里面写入01

现在创建一个适合创建 CA 证书的初始caconfig.cnf文件。使用您最喜爱的编辑器编辑文件/myCA/caconfig.cnf,并将以下内容插入到文件中:

vim caconfig.cnf
# My sample caconfig.cnf file.
#
# Default configuration to use when one is not provided on the command line.
#
[ ca ]
default_ca      = local_ca
#
#
# Default location of directories and files needed to generate certificates.
#
[ local_ca ]
dir             = /home/{
   username}/myCA
certificate     = $dir/cacert.pem
database        = $dir/index.txt
new_certs_dir   = $dir/signedcerts
private_key     = $dir/private/cakey.pem
serial          = $dir/serial
#       
#
# Default expiration and encryption policies for certificates.
#
default_crl_days        = 365//365天发布一次证书吊销列表
default_days            = 1825//默认颁发证书的有效期
default_md              = sha256//默认加密算法,最好选sha256,高版本的ubuntu用sha1会出错
#       
policy          = local_ca_policy
x509_extensions = local_ca_extensions
#
#
# Copy extensions specified in the certificate request
#
copy_extensions = copy
#       
#
# Default policy to use when generating server certificates.  The following
# fields must be defined in the server certificate.
#
[ local_ca_policy ]
commonName              = supplied
stateOrProvinceName     = supplied
countryName             = supplied
emailAddress            = supplied
organizationName        = supplied
organizationalUnitName  = supplied
#       
#
# x509 extensions to use when generating server certificates.
#
[ local_ca_extensions ]
basicConstraints        = CA:false
#       
#
# The default root certificate generation polic
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值