本文将为您讨论openssl3.用根证书签署证书请求文件。在这里,我们生成一个自签名的根证书,我们可以生成根证书,我们可以提交给我们CA生成证书。同时也会对openssl相关说明证书制作!
本文目录清单:
一、如何在Apache创建和安装自签证书
实际受试者的主要目的应是通过创建和安装自签证书来配置https,保证http通信中数据的机密性、完整性和放重攻击。在阅读了之前的答案后,主要讨论了使用openssl实际生成自签证书,除了openssl也可直接使用工具Java自带的keytool工具,或者可以自己编写代码生成数字证书,当然,自己编写代码更灵活,但最麻烦。在阅读了之前的答案后,主要讨论了使用openssl实际生成自签证书,除了openssl也可直接使用工具Java自带的keytool工具,或者可以自己编写代码生成数字证书,当然,自己编写代码更灵活,但最麻烦。如果你自己写代码,你可以使用开源openssl或者是BouncyCastle。至于如何编写代码,本答案主要针对普通用户。这里不展开描述。以下是步骤。
一是创建和安装自签证书。
1.制作根证书(用于签发服务证书)
2、生成一个CSR格式证书请求文件
**生成公私密钥对keypair,再生证书请求
3.用根证书签署证书请求文件。并生成服务证书
4出根证
5.将根证和服务器证导入服务密钥库
第二、配置SSL
现在开始配置tomcat,修改tomcat的目录下的conf/
三是验证安装是否成功,访问
我有很多年了java开发经验,熟悉各种框架,熟悉网络编程,熟悉java安全编程,熟悉大数据,熟悉各种安全协议,熟悉并发编程,感兴趣的学生可以互相关注,互相学习!
二、如何使用openssl生成证书
Step1.Createkey(passwordprotected)
opensslgenrsa-out1024/2038(withoutpasswordprotected)
opensslgenrsa-des3-out1024/2048(passwordprotected)
该命令将生成1024/2048位的密钥。
Step2.Createcertificationrequest
opensslreq-new-key-out
opensslreq-new-nodes-key-out
这个命令将会生成一个证书请求,当然,使用前面生成的密钥文件
这里将生成一个新的文件,即证书请求文件。您可以将此文件带到数字证书颁发机构(即CA)申请数字证书。CA会给你一个新的文件,那就是你的数字证书。CA会给你一个新的文件,那就是你的数字证书。
Step3:SendcertificaterequesttoCertificationAuthority(CA)
如果是自己做测试,那么证书的申请机构和颁发机构都是自己。以下命令可生成证书:
opensslreq-new-x509-key-out-days1095
该命令将使用上述生成的密钥生成数字证书
生成过程见见OpenSSL建立自己的CA”
可以在自己的程序中使用和文件,比如做一个加密通讯的服务器
-------------
OpenSSL建立自己的CA
(1)环境准备
首先,需要准备一个目录放置CA文件包括颁发的证书和CRL(CertificateRevokeList)。
在这里我们选择目录/目录/var/MyCA。
在这里我们选择目录/目录/var/MyCA。
然后我们在///var/MyCA建立两个目录,certs用来保存我们的CA所有证书的副本;private用来保存CA私钥证书。
除了生成钥匙,在我们身上CA还需要在系统中创建三个文件。第一份文件用于跟踪最后一份证书的序列号,我们将其命名为serial,初始化为01。第二个文件是跟踪已颁发的证书的排序数据库。我们把它命名为空文件内容。
$mkdir/var/MyCA
$cd/var/MyCA
$mkdircertsprivate
$chmodg-rwx,o-rwxprivate
$echo"01">serial
$touch
第三个文件是OpenSSL创建配置文件要棘手。示例如下:
$touch
文件内容如下:
[ca]
default_ca=myca
[myca]
dir=/var/MyCA
certificate=$dir/
database=$dir/
new_certs_dir=$dir/certs
private_key=$dir/private/
serial=$dir/serial
default_crl_days=7
default_days=365
default_md=md5
policy=myca_policy
x509_extensions=certificate_extensions
[myca_policy]
commonName=supplied
stateOrProvinceName=supplied
countryName=supplied
emailAddress=supplied
organizationName=supplied
organizationalUnitName=optional
[certificate_extensions]
basicConstraints=CA:false
我们需要告诉OpenSSL配置文件的路径,有两种方法可以实现目标:通过config命令选项;通过环境变量OPENSSL_CONF。在这里,我们选择环境变量。
$OPENSSL_CONF=/var/MyCA/"
$exportOPENSSL_CONF
(2)生成根证(RootCertificate)
我们需要一个证书来签署我们自己颁发的证书。这个证书可以从其他证书签名CA获取,或自签根证书。在这里,我们生成了自签名的根证。在这里,我们生成了自签名的根证。
首先,我们需要在配置文件中添加一些信息,如下所示,节名和命令行工具的命令req一样。我们将所有必要的信息写入配置,而不是在命令行中输入,这是唯一的指定X.509v扩展的方式,也能让我们对如何创建根证有一个清晰的把握。
[req]
default_bits=2048
default_keyfile=/var/MyCA/private/
default_md=md5
prompt=no
distinguished_name=root_ca_distinguished_name
x509_extensions=root_ca_extensions
[root_ca_distinguished_name]
commonName=MyTestCA
stateOrProvinceName=HZ
countryName=CN
emailAddress=test@
organizationName=RootCertificationAuthority
[root_ca_extensions]
basicConstraints=CA:true
万事俱备,我们可以生成根证。注意设置好环境变量OPENSSL_CONF。注意设置环境变量OPENSSL_CONF。
$opensslreq-x509-newkeyrsa-out-outformPEM-days356
注:“-days356控制有效期为365天,默认为30天。
验证我们生成的文件。
$opensslx509-in-text-noout
(3)向客户颁发证书
在向客户颁发证书之前,客户需要提供证书的基本信息。我们打开另一个终端窗口,默认使用OpenSSL配置文件(不要让以前OPENSSL_CONF干扰我们,这种配置是专门用来生成根证的)。
命令类似于我们生成的根证书req,但是需要提供一些额外的信息。如下:
$opensslreq-newkeyrsa:1024-keyout-keyformPEM-out-outformPEM
有两个提示要密码,第一个密码用于加密私钥,第二个密码通常是OpenSSL忽略。
结果生成两个文件:私钥匙;请求信息,包括公钥匙。
我们来看看有哪些信息?
$opensslreq-in-text-noout
现在,我们可以向我们提交CA生成证书。
为了方便起见,我们假设是///var/MyCA/private/中。
$opensslca-in
有三个提示,一个问你CA两次确认私钥密码,输出结果为客户颁发证书。
可以通过batch可以通过选项取消命令提示notext取消证书输出显示选项。
此外,还可以一次向多个客户颁发证书infiles选项替换in但这个选项必须放在最后,因为以后的任何字符都被处理成文件名列表。
生成的证书放在里面certs目录,同时和serial所有都变了。
publicdoubleside=10.0;//去掉static
三、
如何使用OpenSSL创建证书
基于这里给出的建议,下面的命令演示了如何创建有效期为10年的自签名key/certificate对。opensslgenrsa1024>
opensslreq-new-x509-nodes-sha1-days3650-key>
输入第二个命令后,您将被提示输入您自己的各种信息,这些信息将嵌入证书中(certificate)。这个过程只需执行一次,然后保存生成的证书,以便将来CreateSIS
或SignSIS一起使用。
------------------------------------------------------------------------------
我试了试,结果出现了这个错误:Unabletoloadconfiginfofrom/usr/local/ssl/
原来是直接用别人生成的密钥,可惜他在Unix不适合使用Win32!没有办法从新开始。openSSO,但是,在使用中openSSO出现的时候
[Unabletoloadconfiginf
ofrom/usr/local/ssl/]{n}异常.然原来这是Unix的默认设置,没有办法,只好建文件[c:/usr/local/ssl],从网上下载,然后改为,置于c:/usr/local/ssl目录下,好了,终于搞定密钥了,
毕业证样本网创作《openssl 证书制作及openssl证书制作》发布不易,请尊重! 转转请注明出处:https://www.czyyhgd.com/476805.html