使用openssl工具生成证书

第一步. 生成rsa私钥文件

  :\> openssl genrsa -out bexio.pem 1024

  : 若要加密生成的rsa私钥文件(des3加密)

  :\> openssl genrsa -des3 -out bexio.pem 1024

第二步. 生成Certificate Signing Request(CSR - 证书请求文件)

  :\> openssl req -new -key bexio.pem -out bexio.csr -config openssl.cnf

  : 根据交互提示一步一步输入必要信息, 敲击回车可以跳过, 以下是一个简单的例子

    Country Name (2 letter code) [AU]:CN
    State or Province Name (full name) [Some-State]:china
    Locality Name (eg, city) []:xiamen
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:
    Organizational Unit Name (eg, section) []:
    Common Name (e.g. server FQDN or YOUR name) []:
    Email Address []:[email protected]

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

第三步. 把证书请求文件认证为可用证书

  (1) 生产CA根证书(用于签名)

  : 把openssl.cnf复制到openssl.exe所在目录

  :\> openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf

  执行成功以后, 在oepnssl所在目录便生成了ca.key和ca.crt两个文件. 其中ca.key存的是CA根证书的私钥, ca.crt存的便是CA根证书.

  (2) 准备CA环境

  : 把openssl.cnf复制到openssl.exe所在目录, 修改其中的ca section, 添加新的ca策略. 如下:

    ####################################################################
    [ ca ]
    default_ca = CA_BEXIO #CA_default # The default ca section

    ####################################################################
    [ CA_BEXIO ]

    dir = .# Where everything is kept
    certs = $dir# Where the issued certs are kept
    crl_dir = $dir# Where the issued crl are kept
    database = $dir/index.txt# database index file.
    new_certs_dir = $dir# default place for new certs.

    certificate = $dir/ca.crt# The CA certificate
    serial = $dir/serial# The current serial number
    crlnumber = $dir/crlnumber# the current crl number
    # must be commented out to leave a V1 CRL
    crl = $dir/crl.pem# The current CRL
    private_key = $dir/ca.key# The private key
    RANDFILE = $dir/.rand# private random number file

    x509_extensions = usr_cert# The extentions to add to the cert

    # Comment out the following two lines for the "traditional"
    # (and highly broken) format.
    name_opt = ca_default# Subject Name options
    cert_opt = ca_default# Certificate field options

    # Extension copying option: use with caution.
    # copy_extensions = copy

    # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
    # so this is commented out by default to leave a V1 CRL.
    # crlnumber must also be commented out to leave a V1 CRL.
    # crl_extensions = crl_ext

    default_days = 3650# how long to certify for
    default_crl_days= 30# how long before next CRL
    default_md = default# use public key default MD
    preserve = no# keep passed DN ordering

    # A few difference way of specifying how similar the request should look
    # For type CA, the listed attributes must be the same, and the optional
    # and supplied fields are just that :-)
    policy = policy_anything

  : 生成证书索引文件和数据库文件

\Linux:

  $ touch index.txt

  $ echo 01> serial

\Windows:

  :\> copy con index.txt

  :\> <Ctrl-z>

  :\> echo 01> serial

  : 修改openssl.cnf中的配置项如下:

    [ policy_anything ]
    countryName = optional
    stateOrProvinceName = optional
    localityName = optional
    organizationName = optional
    organizationalUnitName = optional
    commonName = optional
    emailAddress = optional

  

  (3) CA签名

  :\> openssl ca -in bexio.csr -out bexio.crt -config openssl.cnf

至此, 生成的证书相关文件有: ca.crt (ca根证书)     bexio.pem(私钥)      bexio.crt(证书)

在使用时, 私钥和证书可以合并为一个文件.

 \Linux:

  $ cat bexio.pem >> bexio.crt

 \Windows:

  用文本编辑器把内容拷贝过去即可

使用openssl工具生成证书

时间: 2024-11-04 03:49:09

使用openssl工具生成证书的相关文章

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和证书请求相关知识,可直接跳至后文,若不熟悉,建议从前向后一步一步阅读. 首先说明下生成证书请求需要什么:申请者需要将自己的信息及其公钥放入证书请求中.但在实际操作过程中,所需要提供的是私钥而非公钥,因为它会自动从私钥中提取公钥.另外,还需要将提供的数据进行数字签名(使用单向加密),保证

使用OpenSSL工具制作X.509证书的方法及其注意事项总结

如何使用OpenSSL工具生成根证书与应用证书 本文由CSDN-蚍蜉撼青松 [主页:http://blog.csdn.net/howeverpf]原创,转载请注明出处! 一.步骤简记 // 生成顶级CA的公钥证书和私钥文件,有效期10年(RSA 1024bits,默认) openssl req -new -x509 -days 3650 -keyout CARoot1024.key -out CARoot1024.crt // 为顶级CA的私钥文件去除保护口令 openssl rsa -in C

cas单点登录(一) 生成证书

生成 证书 实现:使用jdk自带的keytool 工具生成证书. 命令:    keytool -genkey -alias tomcat -keyalg RSA -keystore c:/devsoft/keys/keystore 导出证书:keytool -genkey -alias tomcat -keyalg RSA -keystore c:/devsoft/keys/keystore 将证书导入jdk信任库: keytool -import -trustcacerts -alias t

使用 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 证书

OpenSSL - 利用OpenSSL生成证书

Step 1. Create key  这个命令会生成一个1024/2048位的密钥,包含私钥和公钥. openssl genrsa -out prvtkey.pem 1024/2038                     (with out password protected) openssl genrsa -des3 -out prvtkey.pem 1024/2048    (password protected) Step 2. Create certification reque

使用OpenSSL生成证书

Step 1. Create key (password protected) openssl genrsa -out prvtkey.pem 1024/2038                     (with out password protected)    openssl genrsa -des3 -out prvtkey.pem 1024/2048    (password protected) 这个命令会生成一个1024/2048位的密钥. Step 2. Create cert

用OpenSSL命令行生成证书文件

1.首先要生成服务器端的私钥(key文件): openssl genrsa -des3 -out server.key 1024 运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施! 去除key文件口令的命令: openssl rsa -in server.key -out server.key

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

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