`
心动音符
  • 浏览: 336579 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

openssl生成证书

 
阅读更多
下载安装openssl,进入/bin/下面,执行命令(把ssl目录下的openssl.cnf 拷贝到bin目录下)

1.首先要生成服务器端的私钥(key文件):
openssl genrsa -des3 -out server.key 1024

[root@airwaySSL openssl]# cd ssl/

[root@airwaySSL ssl]# pwd

/home/openssl/ssl

[root@airwaySSL ssl]# ls

certs  man  misc  openssl.cnf  private  server.csr  server.key


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

去除key文件口令的命令:
openssl rsa -in server.key -out server.key

2.openssl req -new -key server.key -out server.csr -config openssl.cnf

[root@airwaySSL bin]# openssl req -new -key server.key -out server.csr -config openssl.cnf

Enter pass phrase for server.key:12345

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [AU]:CN

State or Province Name (full name) [Some-State]:china

Locality Name (eg, city) []:wuhan

Organization Name (eg, company) [Internet Widgits Pty Ltd]:airway

Organizational Unit Name (eg, section) []:airway

Common Name (eg, YOUR name) []:airway

Email Address []:

 

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

 

生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.

3.对客户端也作同样的命令生成key及csr文件:
openssl genrsa -des3 -out client.key 1024

 

Generating RSA private key, 1024 bit long modulus

...........++++++

..++++++

e is 65537 (0x10001)

Enter pass phrase for client.key:12345

Verifying - Enter pass phrase for client.key:12345

 

openssl req -new -key client.key -out client.csr -config openssl.cnf

 

[root@airwaySSL bin]# openssl req -new -key client.key -out client.csr -config openssl.cnf

Enter pass phrase for client.key:12345

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [AU]:cn

State or Province Name (full name) [Some-State]:china

Locality Name (eg, city) []:wuhan

Organization Name (eg, company) [Internet Widgits Pty Ltd]:airway

Organizational Unit Name (eg, section) []:airway

Common Name (eg, YOUR name) []:airway

Email Address []:

 

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

 

4.CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢.
openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf

 

[root@airwaySSL bin]# openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf

Generating a 1024 bit RSA private key

...++++++

...................++++++

writing new private key to 'ca.key'

Enter PEM pass phrase:12345

Verifying - Enter PEM pass phrase:

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [AU]:CN

State or Province Name (full name) [Some-State]:china

Locality Name (eg, city) []:wuhan

Organization Name (eg, company) [Internet Widgits Pty Ltd]:airway

Organizational Unit Name (eg, section) []:airway

Common Name (eg, YOUR name) []:airway

Email Address []:


在继续下面操作前,将openssl.conf文件打开,查看其dir路径将其修改为dir = /home/openssl/bin/demoCA /,否则下面的步骤会提示路径无法找到。



  自己手动创建一个CA目录结构:
 
 [weigw@TEST bin]$ mkdir ./demoCA
  [weigw@TEST bin]$ mkdir demoCA/newcerts
  

    创建个空文件:
  [weigw@TEST bin]$ vi demoCA/index.txt
  
    向文件中写入01:
  [weigw@TEST bin]$ vi demoCA/serial

5.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

 

[root@airwaySSL bin]# openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

Using configuration from openssl.cnf

Enter pass phrase for ca.key:

Check that the request matches the signature

Signature ok

Certificate Details:

        Serial Number: 1 (0x1)

        Validity

            Not Before: Feb 26 04:15:02 2009 GMT

            Not After : Feb 26 04:15:02 2010 GMT

        Subject:

            countryName               = CN

            stateOrProvinceName       = china

            organizationName          = airway

            organizationalUnitName    = airway

            commonName                = airway

        X509v3 extensions:

            X509v3 Basic Constraints: 

            CA:FALSE

            Netscape Comment: 

            OpenSSL Generated Certificate

            X509v3 Subject Key Identifier: 

            30:70:D2:EB:9B:73:AE:7B:0E:8E:F6:94:33:7C:53:5B:EF:93:FC:38

            X509v3 Authority Key Identifier: 

            keyid:DB:D6:83:BB:7F:28:C2:A9:40:6A:D8:32:FC:01:E0:5C:48:27:51:19

 

Certificate is to be certified until Feb 26 04:15:02 2010 GMT (365 days)

Sign the certificate? [y/n]:y

 

 

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

 

openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

 

[root@airwaySSL bin]# openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

Using configuration from openssl.cnf

Enter pass phrase for ca.key:

Check that the request matches the signature

Signature ok

The countryName field needed to be the same in the

CA certificate (CN) and the request (cn)


现在我们所需的全部文件便生成了.

另:

client使用的文件有:ca.crt,client.crt,client.key

server使用的文件有:ca.crt,server.crt,server.key
分享到:
评论

相关推荐

    openSSL生成证书以及在tomcat下的配置

    "openSSL生成证书以及在tomcat下的配置" openSSL是目前最流行的开源加密库之一,它提供了安全的数据传输和认证机制。在Web应用程序中,openSSL广泛应用于生成数字证书和私钥,从而确保数据的安全传输。今天,我们将...

    java调用openssl生成证书

    Java调用OpenSSL生成证书是一种常见的安全操作,用于创建数字证书,这些证书在网络安全中扮演着重要角色,例如HTTPS通信、服务器身份验证等。在这个过程中,我们通常会使用OpenSSL命令行工具,然后通过Java程序来...

    利用OpenSSL生成证书详解

    利用 OpenSSL 生成证书详解 OpenSSL 是一个功能强大和全面的安全开发包,提供了主要的密码算法、常用的密钥和证书封装管理功能以及 SSL 协议。OpenSSL 采用 C 语言作为开发语言,使得它具有优秀的跨平台性能,可以...

    Linux下用Openssl生成证书

    ### Linux下用OpenSSL生成证书 #### 一、概述 在现代互联网通信中,SSL/TLS协议被广泛应用于实现客户端与服务器之间的安全数据传输。为了确保这种通信的安全性,需要使用数字证书来验证服务器的身份。在Linux环境...

    OPenssl生成证书

    "OPenssl生成证书" 在本文中,我们将详细介绍如何使用 OpenSSL 生成证书,包括生成服务器端的私钥、Certificate Signing Request(CSR)文件和客户端的私钥和CSR文件。 首先,我们需要下载并安装 OpenSSL,然后...

    OPenssl生成证书.docx

    在本文中,我们将详细探讨如何使用 OpenSSL 生成证书,包括服务器端和客户端的私钥、证书签名请求 (CSR) 以及去除私钥口令的过程。 首先,你需要下载并安装 OpenSSL。安装完成后,确保你在 `/bin` 目录下,然后将 `...

    openssl 生成 证书

    打包的一个openssl包,自己编写的一个openssl 的批处理,填写基本信息就能生成key,免去了自己繁琐的输入命令。(openssl基于apache2.2.21提取) 如果配置来使用svn的话可以参考:...

    openSSL制作证书并在tomcat上配置

    要生成证书文件,我们需要使用openSSL提供的命令和工具。下面是生成服务器端证书文件的步骤: 1. 生成服务器端的私钥(key文件):`openssl genrsa -des3 -out server.key 1024` 2. 生成服务器端证书签名请求文件...

    OpenSSL 一键生成证书

    在IT行业中,理解和使用OpenSSL生成证书是至关重要的,特别是对于网络服务器配置和安全通信。 "OpenSSL 一键生成证书"项目是针对OpenSSL进行的二次开发,旨在简化证书创建过程。通常,生成SSL/TLS证书需要一系列...

    java生成证书 包括openssl

    Java 生成证书包括 OpenSSL Java 生成证书是指通过 Java 的 keytool 工具和 OpenSSL 库生成数字证书的过程。在 HTTPS 环境下,证书是必不可少的组件, play a crucial role in ensuring the security and ...

    OpenSSL生成的ssl证书

    3. **生成证书签名请求(CSR)**:接着,基于刚才生成的私钥创建一个证书签名请求,这将包含服务器的相关信息。命令如下: ``` openssl req -new -key private.key -out CSR.csr ``` 在交互式提示中,输入服务器的...

    openssl生成的证书demo

    在这个“openssl生成的证书demo”中,我们将探讨如何使用OpenSSL生成证书、证书签名请求(CSR)以及自签名的根证书权威(CA),并理解这些组件在安全通信中的作用。 首先,我们来了解什么是证书。在SSL/TLS协议中,...

    Linux下用Openssl生成证书[归类].pdf

    在Linux环境下,使用OpenSSL生成SSL X.509证书涉及一系列步骤,这些步骤对于软件开发,特别是涉及网络服务安全的项目至关重要。X.509证书是公钥基础设施(PKI)的一部分,用于验证服务器或客户端的身份。以下是一份...

    使用 OpenSSL 创建生成CA 证书服务器客户端证书及密钥

    在网络安全中,OpenSSL 是一个强大的安全套接层 (SSL) 工具包,它包含了各种用于处理加密通信所需的工具,包括生成证书、密钥以及执行加密操作。本文将详细介绍如何使用 OpenSSL 创建和管理CA证书、服务器证书和...

    weblogic+OPENSSL+生成证书的SSL详细配置手册

    根据提供的文档信息,本文将详细解释如何通过OpenSSL生成安全证书并在WebLogic环境中...以上就是使用OpenSSL生成证书并在WebLogic中进行SSL配置的详细步骤。通过这些步骤,可以确保应用程序的数据传输安全性得到保障。

    openssl 生成client.jks与server.jks文件的方法

    在使用 OpenSSL 生成证书之前,我们需要创建证书颁发机构(Certificate Authority,简称 CA)的密钥。使用以下命令创建 CA 的密钥: `$ openssl req -x509 -newkey rsa:1024 -keyout cakey.pem -out cacert.pem -...

    PHP中使用OpenSSL生成证书及加密解密

    在介绍PHP中使用OpenSSL生成证书及加密解密的知识点之前,需要了解OpenSSL扩展在PHP中的应用前提。首先,确保PHP已经安装并启用了OpenSSL扩展。对于Windows服务器,可能需要单独下载并安装OpenSSL相关的DLL文件;而...

    OpenSSL证书生成器

    OpenSSL 证书生成器 可用于apache的ssl证书生成

Global site tag (gtag.js) - Google Analytics