【网络安全】在局域网里创建个人CA证书

前言

这篇文章主要是给另一篇文章提供生成个人CA证书步骤的教程。

生成CA证书

首先网上下载一个openssl软件,Windows可以从这里下载:已经编译好的Windows下的openssl,当然也可以在Linux下生成。

之后按步骤输入下面指令生成证书。这一步是创建根证书。

创建私钥

> openssl genrsa -out ca/ca-key.pem 1024  

创建证书请求

> openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem

Country Name (2 letter code) [AU]:cn 
State or Province Name (full name) [Some-State]:guangdong 
Locality Name (eg, city) []:guangzhou
Organization Name (eg, company) [Internet Widgits Pty Ltd]:test
Organizational Unit Name (eg, section) []:test 
Common Name (eg, YOUR name) []:root 
Email Address []:test 

依次输入cnguangdongguangzhoutest等信息。

自签署证书

>openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650

将证书导出成浏览器支持的.p12格式

>openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12

如果要输入其它信息直接全部为test。

生成server证书

这一步生成的证书是要放在服务器上。

创建私钥

>openssl genrsa -out server/server-key.pem 1024  

创建证书请求

> openssl req -new -out server/server-req.csr -key server/server-key.pem

Country Name (2 letter code) [AU]:cn
State or Province Name (full name) [Some-State]:guangdong
Locality Name (eg, city) []:guangzhou
Organization Name (eg, company) [Internet Widgits Pty Ltd]:test 
Organizational Unit Name (eg, section) []:test
Common Name (eg, YOUR name) []:192.168.1.246   # 注释:一定要写服务器所在的ip地址
Email Address []:sky

自签署证书

> openssl x509 -req -in server/server-req.csr -out server/server-cert.pem -signkey server/server-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650

将证书导出成浏览器支持的.p12格式

> openssl pkcs12 -export -clcerts -in server/server-cert.pem -inkey server/server-key.pem -out server/server.p12  

如果要输入其它信息直接全部为test。

生成client证书

创建私钥

> openssl genrsa -out client/client-key.pem 1024

创建证书请求

> openssl req -new -out client/client-req.csr -key client/client-key.pem 

Country Name (2 letter code) [AU]:cn
State or Province Name (full name) [Some-State]:guangdong
Locality Name (eg, city) []:hangzhou
Organization Name (eg, company) [Internet Widgits Pty Ltd]:skyvision
Organizational Unit Name (eg, section) []:test
Common Name (eg, YOUR name) []:sky
Email Address []:sky      # 注释:就是登入中心的用户(本来用户名应该是Common Name,但是中山公安的不知道为什么使用的Email Address,其他版本没有测试) 

Please enter the following 'extra' attributes 
to be sent with your certificate request 
A challenge password []:test 
An optional company name []:test

自签署证书

> openssl x509 -req -in client/client-req.csr -out client/client-cert.pem -signkey client/client-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650  

将证书导出成浏览器支持的.p12格式

> openssl pkcs12 -export -clcerts -in client/client-cert.pem -inkey client/client-key.pem -out client/client.p12  

如果要输入其它信息直接全部为test。


update 2018-03-05:

本人使用Python编写了一键创建以上证书的脚本,放在了github的gist:https://gist.github.com/AngelLiang/730edb0042b9ac50f692c905ca8f1310

### 如何在虚拟机中安装和配置证书颁发机构 (CA) #### 一、概述 证书颁发机构(Certificate Authority, CA)是一种负责签发数字证书并验证身份的可信实体。通过建立自己的私有 CA,可以在内部网络环境中实现安全的身份验证机制[^3]。 --- #### 二、环境准备 为了在虚拟机中完成 CA 的安装与配置,需满足以下前提条件: 1. **操作系统**: 可以选择 Linux 或 Windows 操作系统作为基础平台。 - 如果使用 Anolis OS8.8,则可参考 Easy-RSA 工具来创建和管理 CA[^1]。 - 若采用 Windows Server 2022,则可通过 Active Directory Certificate Services 来部署企业级 CA。 2. **工具支持**: - 对于 Linux 平台,推荐使用 `Easy-RSA` 创建CA 和从属 CA。 - 在 Windows 上,需要启用 AD CS 功能模块,并确保服务器已加入活动目录域。 3. **硬件资源**: - 至少分配 2GB RAM 给虚拟机实例。 - 提供足够的磁盘空间以存储日志文件、密钥材料及其他相关数据。 --- #### 三、具体实施步骤 ##### 1. 使用 Easy-RSA 构建 Root CA (Anolis OS8.8) - 安装必要软件包: ```bash sudo dnf install epel-release -y && sudo dnf install easy-rsa openssl -y ``` - 初始化工作目录结构: ```bash mkdir /etc/easy-rsa && cd /etc/easy-rsa cp -r /usr/share/easy-rsa/* . ./easyrsa init-pki ``` - 设置变量参数:编辑 vars 文件定义组织名称等相关字段。 - 生产根密钥及签名请求: ```bash ./easyrsa build-ca ``` 此命令会提示输入密码保护短语以及确认生成自签名根证书。 ##### 2. 请求子 CA 认证 当构建多层 PKI 结构时,可能还需要设立中间层次别的 CAs。此时无需重新指定新的 RSA 密钥对而是由上级 root ca 授权发放许可凭证即可[^2]: - 准备 CSR 文档提交给主管审核批准; - 明确记录下导出位置方便后续引用调用; 注意务必妥善保管好这些敏感资料以防泄露风险! ##### 3. 基于 Windows Server 实现自动化流程 对于微软生态下的解决方案来说,主要依靠图形界面配合脚本来达成目的: - 启动角色向导添加 ADCS 特性; - 自定义策略模板适配业务需求场景; - 开启在线响应器功能增强可用度; 最终使得局域网内的客户端设备能够无缝获取到经过验证过的 SSL/TLS 加密连接保障[^4]. --- #### 四、注意事项 - 确保所有涉及加密运算的操作均遵循行业标准算法强度要求。 - 将生成的关键资产存放在离线介质上隔离保存减少攻击面暴露几率。 - 定期审查现有规则集防止过期失效影响正常运转秩序。 ---
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值