openssl应用--创建个人CA
首先安装openssl-0.9.7,安装成功以后,为了方便执行openssl指令,将openssl路径加入PATH中
$OPENSSL_HOME\out32dll\release加入PATH
使用openssl创建CA
1.生成目录树
CA认证中心需要下列相关目录,请手动建立下列目录。
CARoot
|__certs
|__newcerts
|__private
|__crl
2.生成随机数文件
在private目录下生成随机数文件.rnd,(可将一个文件内容拷贝.rnd,如将一exe文件拷贝成.rnd)。
3.生成文本数据库文件
CARoot根目录下手动创建一个空的文本数据库文件index.txt。
4.生成证书序列号文件
在CARoot下创建证书序列号文件serial,使用文本编辑器打开,在文件中输入"01";(文件内容无银号),或者使用命令$echo 01>serial (注意确认serial文件内容为01,并且无引号)。
5.产生CA私钥
genrsa -out private\ca.key -rand private\.rnd 2048
genrsa -out private\ca.key -rand private\.rnd -des3 2048 (生成des3加密的私钥文件)
生成2048位的私钥文件,为保障安全使用第二种,用des3加密。
其他相关命令
rsa -noout -text -in ca.key //查看私钥
rsa -in ca.key -out ca.key.unsecure //生成一个不需要口令保护的私钥,不推荐
6.修改配置文件
将$OPENSSL_HOME下的apps\openssl.cnf拷贝到CARoot目录下,然后修改CA的配置文件
修改openssl.cnf文件
将下面部分修改:
[ CA_default ]
dir = ./demoCA # 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.
new_certs_dir = $dir/newcerts # default place for new certs.
certificate = $dir/cacert.pem # The CA certificate
serial = $dir/serial # The current serial number
crl = $dir/crl.pem # The current CRL
private_key = $dir/private/cakey.pem# The private key
RANDFILE = $dir/private/.rand # private random number file
修改后
RANDFILE = $ENV::HOME/private/.rnd
(修改默认的随机数文件的位置)
[ CA_default ]
dir = ./ # 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.
new_certs_dir = $dir/newcerts # default place for new certs.
certificate = $dir/private/ca.crt # The CA certificate
serial = $dir/serial # The current serial number
crl = $dir/crl.cer # The current CRL
private_key = $dir/private/ca.key# The private key
RANDFILE = $dir/private/.rnd # private random number file
7.生成CA证书
req -new -x509 -days 3650 -key private\ca.key -out private\ca.crt -config openssl.cnf
(查看证书文件:x509 -in cacert.pem -text -noout)
8.创建CA的自签名证书
genrsa -out certs\cert.key -rand private\.rnd -des3 2048
(查看私钥文件rsa -in cert.key -noout -text)
req -new -x509 -days 3650 -key certs\cert.key -out certs\cert.crt -config openssl.cnf
ca -ss_cert certs\cert.crt -config openssl.cnf -policy policy_anything -out certs\signedcert.crt
选项ss_cert 表明是自签名证书
证书格式说明:
windows不能识别pem文件格式,能够识别crt文件,单纯的将后缀名改变,windows也是不能识别的,
打开签名后的证书(pem文件格式,尽管后缀名为crt),保留BEGIN CERTIFICATE and the END CERTIFICATE之间的内容,删除其他内容,windows就能够识别了。
(windows的证书crt格式就是
-----BEGIN CERTIFICATE-----
证书内容
-----END CERTIFICATE-----
将PEM证书装换成DER证书
$ openssl x509 -in tom.crt -out cert.der -outform DER
如果创建证书失败,失败后重做的方法:
serial文件中删除证书序列号
index.txt数据库文件中删除该证书的条目
重新创建证书就可以了
===================================================================
生成其他用户证书
1、生成证书请求
OpenSSL> req -newkey rsa:1024 -keyout testkey.pem -out testreq.pem -rand private\.rnd -config openssl.cnf
(查看证书请求:req -in testreq.pem -text -noout)
2、使用证书请求签发证书
ca -in testreq.pem -policy policy_anything -config openssl.cnf
-policy policy_anything 使用这个CP签发证书
默认的是policy_match 要求countryName,State,Organization必须匹配
ca -in testreq.pem -days 730 policy policy_anything -config openssl.cnf
生成的证书在newcerts目录下 xxx.pem
===================================================================
其他可能会用到的相关操作:
撤销证书
copy newcerts\02.pem test.pem (拷贝一个证书副本进行撤销)
ca -revoke test.pem -config openssl.cnf
产生CRL
OpenSSL> ca -gencrl -out crl041012.crl -config openssl.cnf
(查看CRL文件:crl -in crl041012.crl -text -noout)
使用CA根证书验证CRL
OpenSSL> crl -in crl041012.crl -noout -CAfile private\ca.crt
分享到:
相关推荐
总结来说,OpenSSL 提供了生成和管理SSL证书的全套工具,通过创建CA证书、服务器证书和客户端证书,我们可以实现SSL单向认证和双向认证,从而确保网络通信的安全。理解并熟练运用这些命令,对于任何需要处理加密通信...
本教程将深入探讨如何利用开源工具openssl创建自定义的证书颁发机构(CA),并实现将CA证书安装到浏览器的受信任根证书存储区,以供自定义网络服务使用。 首先,我们需要了解openssl工具。OpenSSL是一个强大的安全...
4. **创建自签名根证书(Root CA)**:使用OpenSSL,你可以创建自己的CA,以签发自定义的SSL证书。这涉及到生成私钥、创建证书请求、签署证书请求并最后生成自签名的根证书。 5. **证书链的构建**:了解如何为...
2. **创建证书请求(CSR)**:`openssl req -new -key private_key.pem -out csr.pem` 使用私钥生成CSR,用于申请CA签发的证书。 3. **自签发证书**:`openssl x509 -req -days 365 -in csr.pem -signkey private_key....
首先,我们需要下载并安装 OpenSSL,然后进入/bin/目录,执行命令将ssl目录下的openssl.cnf文件复制到bin目录下。 生成服务器端的私钥 使用 OpenSSL 生成服务器端的私钥,我们可以使用以下命令: ``` openssl ...
总之,OpenSSL 在 Windows 下的安装与配置涉及下载、解压、环境变量设置、命令行使用等多个步骤。通过熟练掌握这些步骤,你可以有效地管理和使用 SSL/TLS 证书,为网络通信提供安全保障。在实际操作中,确保遵循最佳...
在Linux环境下搭建CA与Windows下的过程类似,主要区别在于命令行工具的使用方式以及文件系统的结构略有不同。基本步骤包括: 1. **安装OpenSSL**:使用包管理器安装OpenSSL。 2. **配置工作目录**:与Windows相同,...
**OpenSSL创建证书** 1. **安装OpenSSL**:虽然在描述中提到无需再下载和配置OpenSSL环境,但在实际操作中,你需要先下载适用于Windows的OpenSSL版本并安装。可以从官方网站或者其他可信源获取安装包。 2. **生成...
在64位Windows环境下,OpenSSL的性能通常会优于32位版本,因为64位系统可以处理更大的内存地址和数据,从而提高加密运算的速度。 安装这个“openssl-windows64”压缩包后,你可以通过命令行工具进行各种安全操作,...
在Windows环境下,OpenSSL的安装和使用是许多开发者和系统管理员必备的技能。本文将详细探讨`openssl windows version`的相关知识点,包括其功能、如何安装、生成密钥对以及证书请求。 一、OpenSSL在Windows中的...
在Windows环境下安装和使用OpenSSL,需要注意以下几点: 1. **下载**:可以从OpenSSL官方网站或者第三方镜像站点下载适用于Windows的预编译二进制版本,包括静态库和动态库两种形式。 2. **环境变量**:安装完成后,...
OpenSSLCA是一个用于创建和管理证书颁发机构(CA)的工具,它在网络安全中扮演着重要角色,特别是在数字证书的签发和验证过程中。通过OpenSSLCA,我们可以构建自己的证书基础设施,这对于测试环境或者内部网络的安全...
1. **生成SSL/TLS证书**:可以创建自签名证书用于本地开发和测试,或者生成证书签名请求(CSR)提交给证书颁发机构(CA)申请正式的SSL证书。 2. **加密数据**:使用OpenSSL可以对文件或数据流进行加密,确保传输过程中...
- **创建证书请求**:使用 `openssl req` 创建 X.509 证书请求,通常用于向证书颁发机构(CA)申请证书。 - **自签名证书**:通过 `openssl x509` 命令可以创建自签名证书,用于测试环境或内部网络。 - **解密和加密...
本文档将详细介绍如何在Windows操作系统环境下使用OpenSSL生成HTTPS证书的全过程。HTTPS证书是保障网站数据传输安全的重要组成部分,通过加密方式确保用户与服务器之间的通信内容不被第三方窃取或篡改。本教程将涵盖...
1. **CA 应用程序**:你可以选择 Windows 系统的 CA 服务器程序、OpenCA 服务器,或者使用 OpenSSL 提供的 `ca` 指令。 2. **CA 证书和私钥**:如果 CA 服务器是独立的,你可以使用 OpenSSL 的 `req` 指令生成一个...
在Windows操作系统下,OpenSSL的安装与使用对于进行CA证书的生成和转换操作至关重要。本文将详细解析Windows环境下OpenSSL的安装步骤和相关知识点。 1. **OpenSSL版本选择** 文件名中提及的"Win64OpenSSL-1_0_2s....
在Windows环境下编译OpenSSL通常需要以下步骤: 1. 从官方网站下载OpenSSL源代码,例如openssl-1.0.1g版本。 2. 安装Perl解释器,如ActivePerl,确保其正常运行。 3. 解压缩OpenSSL源代码到指定目录。 4. 安装NASM...
1. **证书请求**:使用`openssl req`命令创建一个证书请求,包含服务器的相关信息,如`openssl req -new -key private_key.pem -out server.csr`。 2. **签发证书**:你可以向权威的证书颁发机构(CA)提交`server....