生成证书请求(CSR)

本文原创自 http://blog.csdn.net/voipmaker  转载注明出处。

本系列文章分为三篇,主要介绍构建自己的证书颁发服务,生成证书请求,以及通过自己构建的CA给生成的证书请求签名并最终应用到服务。

应用在向证书颁发机构(CA)申请签名时需要生成证书请求,下面为openssl生成证书请求的过程。

1. 创建目录和文件

mkdir /home/cg/mycert

cd /home/cg/mycert/

mkdir private conf csr

vim /home/cg/mycert/conf/serverconfig.cnf

[ ca ]

default_ca = CA_default

[ CA_default ]

dir = /home/cg/mycert/

certs = $dir/certs

crl_dir = $dir/crl

database = $dir/index.txt

new_certs_dir = $dir/newcerts

certificate = $dir/certs/cacert.pem

serial = $dir/serial

#crl = $dir/crl.pem

private_key = $dir/private/cakey.pem

#RANDFILE = $dir/private/.rand

x509_extensions = usr_cert

#crl_extensions = crl_ext

default_days = 3650

#default_startdate = YYMMDDHHMMSSZ

#default_enddate = YYMMDDHHMMSSZ

#default_crl_days= 30

#default_crl_hours = 24

default_md = sha1

preserve = no

#msie_hack

policy = policy_match

[ policy_match ]

countryName = match

stateOrProvinceName = match

localityName = match

organizationName = match

organizationalUnitName = optional

commonName = supplied

emailAddress = optional

[ req ]

default_bits = 4096 # Size of keys

default_keyfile = key.pem # name of generated keys

distinguished_name = req_distinguished_name

attributes = req_attributes

x509_extensions = v3_ca

#input_password

#output_password

string_mask = nombstr # permitted characters

req_extensions = v3_req

[ req_distinguished_name ]

countryName = Country Name (2 letter code)

countryName_default = US

countryName_min = 2

countryName_max = 2

stateOrProvinceName = State or Province Name (full name)

stateOrProvinceName_default = New York

localityName = Locality Name (city, district)

localityName_default = New York

organizationName = Organization Name (company)

organizationName_default = Code Ghar

organizationalUnitName = Organizational Unit Name (department, division)

organizationalUnitName_default = IT

commonName = Common Name (hostname, FQDN, IP, or your name)

commonName_max = 64

commonName_default = CGIT

emailAddress = Email Address

emailAddress_max = 40

emailAddress_default = [email protected]

[ req_attributes ]

#challengePassword = A challenege password

#challengePassword_min = 4

#challengePassword_max = 20

#unstructuredName = An optional company name

[ usr_cert ]

basicConstraints= CA:FALSE

subjectKeyIdentifier=hash

authorityKeyIdentifier=keyid,issuer:always

#nsComment = ‘‘OpenSSL Generated Certificate‘‘

#nsCertType = client, email, objsign for ‘‘everything including object signing‘‘

subjectAltName=email:copy

issuerAltName=issuer:copy

#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem

#nsBaseUrl =

#nsRenewalUrl =

#nsCaPolicyUrl =

#nsSslServerName =

[ v3_req ]

basicConstraints = CA:FALSE

keyUsage = nonRepudiation, digitalSignature, keyEncipherment

[ v3_ca ]

subjectKeyIdentifier = hash

authorityKeyIdentifier = keyid:always,issuer:always

basicConstraints = CA:TRUE

#keyUsage = cRLSign, keyCertSign

#nsCertType = sslCA, emailCA

#subjectAltName=email:copy

#issuerAltName=issuer:copy

#obj=DER:02:03

[ crl_ext ]

#issuerAltName=issuer:copy

authorityKeyIdentifier=keyid:always,issuer:always

2. 生成csr

openssl req -new -config conf/serverconfig.cnf -keyform PEM -keyout private/key.csr.server1.pem -outform PEM -out csr/csr.server1.pem -nodes

文件key.csr.server1.pem 和 csr.server1.pem,在目录 $dir/private和 $dir/csr 生成

把 csr.server1.pem给CA生成证书

时间: 2024-10-26 06:43:31

生成证书请求(CSR)的相关文章

生成证书请求CSR

本文原创自 http://blog.csdn.net/voipmaker  转载注明出处. 本系列文章分为三篇,主要介绍构建自己的证书颁发服务,生成证书请求,以及通过自己构建的CA给生成的证书请求签名并最终应用到服务. 创建csr请求,然后通过CA签名,生成的证书即可使用 mkdir /home/cg/mycert cd /home/cg/mycert/ mkdir private conf csr vim /home/cg/mycert/conf/serverconfig.cnf [ ca ]

openssl req(生成证书请求和自建CA)

伪命令req大致有3个功能:生成证书请求文件.验证证书请求文件和创建根CA.由于openssl req命令选项较多,所以先各举几个例子,再集中给出openssl req的选项说明.若已熟悉openssl req和证书请求相关知识,可直接跳至后文查看openssl req选项整理,若不熟悉,建议从前向后一步一步阅读. 首先说明下生成证书请求需要什么:申请者需要将自己的信息及其公钥放入证书请求中.但在实际操作过程中,所需要提供的是私钥而非公钥,因为它会自动从私钥中提取公钥.另外,还需要将提供的数据进

(11) openssl req(生成证书请求和自建CA)

伪命令req大致有3个功能:生成证书请求文件.验证证书请求文件和创建根CA. 由于openssl req命令选项较多,所以先各举几个例子,再集中给出openssl req的选项说明.若已熟悉openssl req和证书请求相关知识,可直接跳至后文,若不熟悉,建议从前向后一步一步阅读. 首先说明下生成证书请求需要什么:申请者需要将自己的信息及其公钥放入证书请求中.但在实际操作过程中,所需要提供的是私钥而非公钥,因为它会自动从私钥中提取公钥.另外,还需要将提供的数据进行数字签名(使用单向加密),保证

生成证书申请csr文件

一.执行命令 openssl req -nodes -newkey rsa:2048 -keyout liexiulive.key -out liexiulive.csr 二.根据提示输入基本信息 Generating a 2048 bit RSA private key .........................................................................+++ .....+++ writing new private key to

Golang(十一)TLS 相关知识(二)OpenSSL 生成证书

0. 前言 接前一篇文章,上篇文章我们介绍了数字签名.数字证书等基本概念和原理 本篇我们尝试自己生成证书 参考文献:TLS完全指南(二):OpenSSL操作指南 1. OpenSSL 简介 OpenSSL 是一个开源项目,其组成主要包括三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls OpenSSL 主要用于秘钥证书管理.对称加密和非对称加密 1.1 指令 常用指令包括:genrsa.req.x509 1.1.1

用XCA(X Certificate and key management)可视化程序管理SSL 证书(2)--生成SSL证书请求

在上个章节中,我们提到了如何安装XCA(X Certificate and key management)程序,这个章节我们开始正式介绍如何用XCA生成证书请求.如果大家用过java的话,肯定知道jdk默认提供了一个工具叫做:keytool,这个工具我们能够从java的安装目录下找到,比如我本机就在:C:\Program Files (x86)\Java\jre7\bin: 但是这个工具因为使用的是命令行,不是特别的直观,所以我在本章节给大家演示一下如何用XCA来生成证书请求.具体步骤如下: 步

使用 openssl 生成证书

转自:http://www.cnblogs.com/littleatp/p/5878763.html 使用 openssl 生成证书 一.openssl 简介 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用.健壮.功能完备的工具套件,用以支持SSL/TLS 协议的实现.官网:https://www.openssl.org/source/ 构成部分 密码算法库 密钥和证书封装管理功能 SSL通信API接口 用途 建立 RSA.DH.DSA key 参数 建立 X.509 证书

CentOS下Apache服务器生成证书的方法

https是一个安全的访问方式,数据在传输过程中是加密的.https基于ssl. 一.安装apache和ssl模块1.安装apacheyum install httpd2.安装ssl模块yum install mod_ssl重启apache:service httpd restart安装完mod_ssl会创建一个默认的SSL证书,路径位于/etc/pki/tls ,此时可以立即通过https访问服务器了: https://IP/ 如果不使用默认的证书,也可以使用openssl手动创建证书. 二.

Apache OpenSSL生成证书使用

最近在学习SSL协议,这次是基于Apache服务器自带的openssl来实现的 TLS:传输层安全协议 SSL:安全套接字层 KEY:私钥 CSR:证书签名请求,即公钥,生成证书时需要将此提交给证书机构,生成 X509 数字证书前,一般先由用户提交证书申请文件,然后由 CA 来签发证书 CRT:即证书,一般服务器证书server.crt和客户端证书client.crt都需要通过CA证书ca.crt进行签名 1.进行CA签名获取证书时,需要注意国家.省.单位需要与CA证书相同,否则会报: