首页 > 其他分享 >创建和管理一个 CA 及证书的生命周期

创建和管理一个 CA 及证书的生命周期

时间:2024-05-31 12:55:41浏览次数:22  
标签:生命周期 rootCA 证书 CA openssl key 服务器

0 使用openssl或者gmssl,提交markdown格式文档和转化后的pdf
1 创建一个根 CA,包括生成私钥和根证书。分析证书和0015,0034标准的符合情况
2 为一台服务器生成一个私钥和证书签署请求(CSR)。
3 使用根 CA 对服务器的 CSR 进行签名,生成服务器证书。
4 吊销该服务器的证书。5 提交生成的 CA 证书、服务器证书、CSR、吊销列表(CRL)和其他相关文件。

0 使用openssl或者gmssl,提交markdown格式文档和转化后的pdf

1 创建一个根 CA,包括生成私钥和根证书。分析证书和0015,0034标准的符合情况

生成根CA的私钥

openssl genpkey -algorithm RSA -out rootCA.key -aes256

生成根证书 (有效期10年)

openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.pem

生成的 rootCA.key 是加密的私钥, rootCA.pem 是根CA的证书。

2 为一台服务器生成一个私钥和证书签署请求(CSR)。

生成服务器的私钥
openssl genpkey -algorithm RSA -out server.key
生成CSR

openssl req -new -key server.key -out server.csr

在创建CSR时,同样你需要提供服务器的相关信息(如组织名、常用名(CN)等)。

3 使用根 CA 对服务器的 CSR 进行签名,生成服务器证书。

使用根CA签名CSR并生成服务器证书

openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days365 -sha256

根CA使用自己的私钥来签署服务器的CSR。 -CAcreateserial 选项会创建一个序列号文件,如果是第一次签名需要此选项。

index.txt 和 serial 文件创建
1. 创建 demoCA 目录和必要的文件
如果index.txt 文件不存在,需要手动创建它。根据配置文件中的路径,执行以下命令:

mkdir -p ./demoCA/newcerts
touch ./demoCA/index.txt
echo ‘1000’ > ./demoCA/serial

创建一个初始化序列文件
这里 1000 是下一个签发证书的初始序列号,你可以使用任何正整数值。
2. 创建 crlnumber 文件
根据 openssl.cnf 配置文件中指定的路径,执行以下命令:

echo ‘1000’ > ./demoCA/crlnumber

4 吊销该服务器的证书。

创建CA的吊销列表 (CRL)

openssl ca -config /etc/ssl/openssl.cnf -revoke server.crt -keyfile rootCA.key -cert rootCA.pem
openssl ca -gencrl -config /etc/ssl/openssl.cnf -keyfile rootCA.key -cert rootCA.pem -out crl.pem

在执行上面的命令之前,需要根据实际环境修改 openssl.cnf 配置文件,并确保 index.txt 和 serial文件存在并且可写。

标签:生命周期,rootCA,证书,CA,openssl,key,服务器
From: https://www.cnblogs.com/20211125mjz/p/18224309

相关文章

  • Educational Codeforces Round 166 (Rated for Div. 2)
    目录写在前面ABCD写在最后写在前面比赛地址:https://codeforces.com/contest/1976满课,并且48小时之内只睡了8h。本来不想打的,但是手痒就上小号打了,然而唐唐唐掉大分呃呃A签到。感谢isdigit函数。///*By:Luckyblock*/#include<bits/stdc++.h>#defineLLlonglon......
  • 美团多场景多任务学习论文《HiNet: Novel Multi-Scenario & Multi-Task Learning with
    模型结构模型主要包含场景抽取层和任务抽取层(上图A):场景抽取层场景抽取层主要包括了场景共享专家(Scenario-sharedexpert)模块、当前场景特有专家(Scenario-specificexpert)模块以及场景感知注意力网络,通过这三部分的信息抽取,最终形成了场景层次的信息表征场景共享专家就是一......
  • Springcloud学习笔记68--springboot 整合Caffeine 本地缓存
    一、本地缓存介绍缓存在日常开发中启动至关重要的作用,由于是存储在内存中,数据的读取速度是非常快的,能大量减少对数据库的访问,减少数据库的压力。之前介绍过Redis这种NoSql作为缓存组件,它能够很好的作为分布式缓存组件提供多个服务间的缓存,但是Redis这种还是需要网络开销,增......
  • 云CAD(在线编辑DWG的API)实现自定义实体的详细方法
    前言自定义实体在CAD二次开发中使用的频率较高,本章节主要阐述网页CAD中使用自定义实体的方法,mxcad 可以根据用户的具体需求来创建和管理自定义实体,可以通过从自定义实体类McDbCustomEntity() 中继承实体的名称、属性、方法,也可结合自身需求对自定义实体类中的属性或方法进行重......
  • pip is configured with locations that require TLS/SSL, however the ssl module in
     [root@dsc1mydjango]#pip3installdjangopipisconfiguredwithlocationsthatrequireTLS/SSL,howeverthesslmoduleinPythonisnotavailable.CollectingdjangoRetrying(Retry(total=4,connect=None,read=None,redirect=None,status=None))after......
  • 数据库open报ORA-600 kcratr_scan_lastbwr故障处理---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:数据库open报ORA-600kcratr_scan_lastbwr故障处理作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]由于断电,导致数据库正常open报ORA-600kcratr_scan_lastbwr错误WedJan1......
  • 数据分享|python分类预测职员离职:逻辑回归、梯度提升、随机森林、XGB、CatBoost、LGB
    全文链接:https://tecdat.cn/?p=34434原文出处:拓端数据部落公众号分析师:ShilinChen离职率是企业保留人才能力的体现。分析预测职员是否有离职趋向有利于企业的人才管理,提升组织职员的心理健康,从而更有利于企业未来的发展。解决方案任务/目标采用分类这一方法构建6种模型对职......
  • D. XORificator
    D.XORificatorYouaregivenabinary(consistingonlyof0sand1s)$n\timesm$matrix.YouarealsogivenaXORificator,usingwhichyoucaninvertallthevaluesinachosenrow(i.e.replace0with1and1with0).Acolumninthematrixisconsider......
  • 【scau数据库实验一】mysql_navicat_数据库定义实验、基本命令
    实验一开始之前,如果还有不会使用navicat建议花五分钟补课哦~补课地址:【scau数据库实验先导】mysql_navicat_数据库新建、navicat的使用-CSDN博客实验目的:理解和掌握数据库DDL语言,能够熟练地使用SQL DDL语句创建、修改和删除数据库、模式和基本表。实验报告要求:实验报......
  • JUC并发编程第七章——CAS
    1原子类Java.util.concurrent.atomic2没有CAS之前多线程环境中不使用原子类保证线程安全i++(基本数据类型)常用synchronized锁,但是它比较重,牵扯到了用户态和内核态的切换,效率不高。publicclassT3{volatileintnumber=0;//读取publicintgetNum......