SSL

简介:

搭建颁发SSL证书服务器

  1. 搭建CA 创建CA私有秘钥  

    (umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048 )

    wKioL1lsKcTTKhs0AAAcnIn25VE109.png-wh_50

    完成以后可以tree命令查看

    tree /etc/pki/CA/ 

    wKiom1lsKgbQLtXDAAAZbZ-nNxk363.png-wh_50

    wKioL1lsKiqwrvK8AAAVzEkyalE216.png-wh_50

  2. 生成自签名证书

    openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650

    wKioL1lsKtOj5XuEAAA_p573SXA581.png-wh_50

    wKioL1lsK92jKEIUAAA_zB5nCWA019.png-wh_50

    查看自制的CA证书

    openssl x509 -in /etc/pki/CA/cacert.pem -noout -text

    wKiom1lsLCTTXf-tAAAyykJK3jA370.png-wh_50

  3. 创建证书数据库文件

    touch /etc/pki/CA/index.txt

    wKioL1lsL6jxAZ7iAAAKcLMalh8734.png-wh_50

  4. 创建证书序列号文件(证书序列号必须要是两位)

    echo 10 > /etc/pki/serial

    wKiom1lsMBOxLdPEAAALrobuD1s996.png-wh_50

    客户端申请证书

    1.客户端生成私钥(客户端生成私钥不限制生成路径)


(usmask 066;openssl genrsa -out /app/service.key 4096; ) wKiom1lsLQaz3RoAAAAcmSGPjAg213.png-wh_50

2.查看生成的秘钥文件


cat /app/service.key

wKioL1lsLWuibdCrAAAKOC_jhjA101.png-wh_50



3.利用私钥生成证书请求文件

 openssl req -new -key /app/service.key -out /app/service.csr

wKiom1lsLhejXhxYAAAxV081sgg883.png-wh_50

填写信息需要,国家,省,公司名字需要跟CA填写的信息保持一致


wKioL1lsLqHT9OEwAAAJUekDML4149.png-wh_50 泛域名

申请证书的请求文件填写的信息会写在/service.csr


4.把证书请求文件复制到CA服务器

scp /app/service.csr 172.16.250.168:/etc/pki/CA

wKioL1lsLyHzCfOIAAANRkcjUu8049.png-wh_50

颁发证书

openssl ca -in /etc/pki/CA/csr/service.csr  -out /etc/pki/CA/certs/service.crt -days 100

wKiom1lsMMLDm2qFAACOWFn7tDE225.png-wh_50

wKiom1lsMOSzJZxtAACOWFn7tDE439.png-wh_50

可以用tree 命令查看

     10.pem是自动生成的

wKioL1lsMT7AC6kGAABGnJf_RLM504.png-wh_50

证书颁发完成以后 会更新数据库,把申请证书填写的信息生成索引

wKioL1lsMZXjAuTyAAAXTZrQq4Q340.png-wh_50

正式颁发完成以后查看serial   显示的是颁发下一个证书的编号

wKiom1lsMeaiUawXAAAK7m7rVlA239.png-wh_50 

查看生成的证书

wKiom1lsMjOhqfLwAACN4aGFVlc921.png-wh_50


把生成好的正式拷贝给 申请证书的服务器

证书颁发就此完成


额外

如果客户端申请证书文件填写的信息 与 CA 信息不一致那么颁发证书时会提示信息不一致错误

wKioL1lsMq_Tcr-pAAAn-6KLUH4395.png-wh_50

可以修改证书颁发策略

wKiom1lsMuLjOJE6AAAMLB_y4TQ180.png-wh_50

把策略改为 policy_anything

wKiom1lsMv-x-ENfAAAtzzFlMxk617.png-wh_50

再次执行颁发证书命令,颁发成功,数据库里面会多一条

wKiom1lsMx2j0iNnAAAjRlpCX6o153.png-wh_50

老的证书数据库会自动备份一份

wKiom1lsMznRWvMGAAAVe1iV5PE214.png-wh_50

查看证书序列表,也会有更改,并且老的证书序列号文件也会备份一份

wKioL1lsM1PSY0EAAAAVP_uJYVY649.png-wh_50



检查域名必须是唯一性

如果客户端申请证书 使用重复的域名

wKioL1lsM7DhY3CYAAAvYRXs3BU946.png-wh_50

颁发证书的时候会提示信息重复,

可以把检验证书申请信息的唯一检验,关闭

wKiom1lsNAqg4M5HAAAOT8GtYhQ802.png-wh_50

wKioL1lsNB3RHXI9AAAElKBsUfs882.png-wh_50



吊销证书

查看已经颁发的证书

wKiom1lsNEGDn_YGAAA671ymcOg196.png-wh_50

取消9c 证书

wKiom1lsNGLjmoS1AAAab68FupQ778.png-wh_50

查看 数据库(R,状态表示吊销)

wKiom1lsNIKy6RwIAABBSvy-omw023.png-wh_50

手动创建 吊销证书的编号

wKioL1lsNMyRKcL0AAAPpJtso_4924.png-wh_50

手动生成吊销列表

wKioL1lsNTvwonLcAAAKCVn83e0702.png-wh_50

查看下一个吊销证书编号

wKioL1lsNa3xVlCpAAANW2zQSts838.png-wh_50

查看吊销的证书

wKiom1lsNdmSU6gtAACG6zzKUi8722.png-wh_50



本文转自 佛哒 51CTO博客,原文链接:http://blog.51cto.com/fodaa/1948162,如需转载请自行联系原作者

相关文章
|
机器学习/深度学习 算法 编译器
【C++】模板初阶(上)
**C++模板简介** 探索C++泛型编程,通过模板提升代码复用。模板作为泛型编程基础,允许编写类型无关的通用代码。以`Swap`函数为例,传统方式需为每种类型编写单独函数,如`Swap(int&)`、`Swap(double&)`等,造成代码冗余。函数模板解决此问题,如`template<typename T> void Swap(T&, T&)`,编译器根据实参类型推导生成特定函数,减少重复代码,增强可维护性。模板分函数模板和类模板,提供处理不同数据类型但逻辑相似的功能。
|
SQL Oracle 关系型数据库
【DB吐槽大会】第49期 - PG 不支持打印慢SQL锁等待信息
大家好,这里是DB吐槽大会,第49期 - PG 不支持打印慢SQL锁等待信息
|
前端开发 JavaScript 数据格式
Web 开发人员必备的随机 JSON 数据生成工具
  在 Web 开发中,经常会需要一些测试数据来测试接口或者功能时候正确。JSON Generator 就是这样一款生成随机 JSON 数据的在线工具,Web 开发人员必备,记得收藏和分享啊。 您可能感兴趣的相关文章 Verlet-js:超炫的开源 JavaScript 物理引擎推荐 T...
2274 0
|
3天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
269 116
|
18天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~