`

使用keytool和OpenSSL创建证书并保存到keystore

阅读更多

使用keytool和OpenSSL创建证书并保存到keystore(步骤)

 

 

=============================

1、创建一个密钥对并生成一个keystore
D:\bea81\user_projects\domains\proxydomain\certs>keytool -keystore pp.jks -genkeypair -alias mycert
输入keystore密码:<输入证书库密码>
再次输入新密码:   <输入证书库密码>
您的名字与姓氏是什么?
  [Unknown]:  mycert
您的组织单位名称是什么?
  [Unknown]:  DP
您的组织名称是什么?
  [Unknown]:  WS
您所在的城市或区域名称是什么?
  [Unknown]:  XM
您所在的州或省份名称是什么?
  [Unknown]:  FJ
该单位的两字母国家代码是什么
  [Unknown]:  CN
CN=mycert, OU=DP, O=WS, L=XM, ST=FJ, C=CN 正确吗?
  [否]:  y

输入<mycert>的主密码
        (如果和 keystore 密码相同,按回车): <输入证书库密码>
再次输入新密码:  <输入证书库密码>

 

=============================
2、根据刚才生成的密钥对生成一个证书请求:
D:\bea81\user_projects\domains\proxydomain\certs>keytool -keystore pp.jks -certreq -alias MyCert -file mycert.csr
输入keystore密码:  <输入证书库密码>

3、根据证书请求用OpenSSL签发证书
D:\tools\编程\CA\OpenSSL1>openssl ca -config .\openssl.conf -policy policy_anything -notext -in .\mycert.csr -out .\mycert.crt
Using configuration from .\openssl.conf
Loading 'screen' into random state - done
Enter pass phrase for .\\CA\private\CAkey.pem: <输入根证书密码>
DEBUG[load_index]: unique_subject = "yes"
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           :PRINTABLE:'CN'
stateOrProvinceName   :PRINTABLE:'XM'
localityName          :PRINTABLE:'FJ'
organizationName      :PRINTABLE:'WS'
organizationalUnitName:PRINTABLE:'DP'
commonName            :PRINTABLE:'SHENG'
Certificate is to be certified until Nov 10 17:47:31 2009 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

 

=============================
3、把根证书导入证书库
D:\bea81\user_projects\domains\proxydomain\certs>keytool -keystore pp.jks -importcert -alias root -file CAcert.pem
输入keystore密码: <输入证书库密码>
所有者:EMAILADDRESS=SHENGROOT@YAHOO.COM, CN=SHENGROOT, OU=DP, O=WS, L=XM, ST=FJ, C=CN
签发人:EMAILADDRESS=SHENGROOT@YAHOO.COM, CN=SHENGROOT, OU=DP, O=WS, L=XM, ST=FJ, C=CN
序列号:ebd62446d8ecd9e2
有效期: Tue Nov 11 00:35:35 CST 2008 至Thu Dec 11 00:35:35 CST 2008
证书指纹:
         MD5:80:90:61:43:A6:C6:3A:1C:5B:EC:6F:D4:14:73:8A:CD
         SHA1:16:8B:E7:D6:04:90:E3:3D:5A:A8:41:61:AA:32:87:03:F7:E1:A8:CF
         签名算法名称:MD5withRSA
         版本: 3

扩展:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 40 F6 C7 13 28 65 AC 9B   1F 2B 58 BF 3A BA 6D 64  @...(e...+X.:.md
0010: 34 36 18 31                                        46.1
]
]

#2: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[
  CA:true
  PathLen:2147483647
]

#3: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: 40 F6 C7 13 28 65 AC 9B   1F 2B 58 BF 3A BA 6D 64  @...(e...+X.:.md
0010: 34 36 18 31                                        46.1
]

[EMAILADDRESS=SHENGROOT@YAHOO.COM, CN=SHENGROOT, OU=DP, O=WS, L=XM, ST=FJ, C=CN]

SerialNumber: [    ebd62446 d8ecd9e2]
]

信任这个认证? [否]:  y
认证已添加至keystore中


注:
如果不导入根证书而直接操作下面一步的话,会得到一个错误:
D:\bea81\user_projects\domains\proxydomain\certs>keytool -keystore pp.jks -importcert -alias mycert -file mycert.der
输入keystore密码:
keytool错误: java.lang.Exception: 无法从回复中建立链接

 

=============================

4、把生成的证书导入到keystore
D:\bea81\user_projects\domains\proxydomain\certs>keytool -keystore pp.jks -importcert -alias mycert -file mycert.crt
输入keystore密码: <输入证书库密码>
认证回复已安装在 keystore中

分享到:
评论

相关推荐

    OpenSSL and Keytool

    这两个工具在实际工作中经常配合使用,例如,OpenSSL可以用来生成证书和私钥,然后通过Keytool导入到Java应用的KeyStore中。`openss简介.doc`可能包含了OpenSSL的详细使用方法和常见操作步骤,而`ca_sign.txt`可能是...

    https证书生成工具(openssl和jre(自带keytool)) for windows.rar

    - **生成自签名证书**:可以使用`keytool -genkeypair`命令生成自签名证书,例如`keytool -genkeypair -alias mycert -keyalg RSA -keystore keystore.jks`,这会在keystore.jks中创建一个名为mycert的证书。...

    java生成证书 包括openssl

    在本文中,我们将详细介绍如何使用 keytool 和 OpenSSL 生成证书。 生成证书的目的 在 HTTPS 环境下,证书是必不可少的组件。证书是由证书颁发机构(CA)颁发的数字文件,用于验证网站的身份和确保数据传输的安全...

    openSSL制作证书并在tomcat上配置

    首先,我们将学习openSSL的基本概念和命令,然后逐步生成服务器端和客户端的证书文件,并介绍如何使用CA证书签名这些证书文件。最后,我们将介绍如何在Tomcat上配置这些证书文件。 openSSL简介 openSSL是一个开源的...

    keytool - 密钥和证书管理工具

    - **导入和导出证书**:Keytool允许导入已有的证书到密钥库,或者将密钥库中的证书导出为PEM或DER格式。 - **查看密钥库内容**:通过keytool,用户可以查看密钥库中的所有条目,包括其指纹、有效期等信息。 - **...

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

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

    java keystore导出.pfx .key .crt 私钥

    1. **创建Keystore**:使用`keytool`命令行工具,Java自带的工具,可以创建一个新的Keystore。例如: ``` keytool -genkeypair -alias mykey -keyalg RSA -keystore mykeystore.jks ``` 这将创建一个名为`...

    OpenSSL证书制作过程

    本文详细介绍了使用OpenSSL制作证书的过程,包括自签名CA的创建、服务器证书和客户端证书的颁发,以及如何在J2EE环境中使用这些证书。通过这些步骤,可以构建一个完整的安全通信体系,保障数据传输的安全性和通信...

    免费openssl 生成ssl证书[ssl证书生成]

    SSL协议通过安装服务器证书来激活,使得数据信息在客户端和服务器之间安全传输,防止数据泄露,并允许用户通过服务器证书来验证网站的真实性。 X.509证书是SSL证书的核心组成部分,通常涉及三种类型的文件:key...

    openssl生成认证证书的工具

    加压后除了openssl.exe以外,还有一个bat文件,这个可以帮助我们快速创建证书申请文件。 运行autocsr.bat,按照提示输入信息,之后按任意键确认。你会得到两个文件,一个server.key,这是私钥文件,还有一个名为...

    keystore-explorer:KeyStore Explorer是Java命令行实用程序keytool和jarsigner的免费GUI替代品

    在各种KeyStore类型之间创建,加载,保存和转换:JKS,JCEKS,PKCS#12,BKS(V1和V2)和UBER 更改密钥库和密钥库条目密码 删除或重命名KeyStore条目 剪切/复制/粘贴KeyStore条目 将证书附加到密钥对证书链 生成...

    OpenSSL1.1.1g安装包及生成证书批处理

    1. `.jks`:Java keystore 文件,用于存储私钥和证书链,常在Java应用服务器中使用。 2. `.key`:私钥文件,包含用于加密和解密的密钥,必须保密。 3. `.csr`:证书签名请求,包含了组织信息和公钥,用于向证书颁发...

    OpenSSL证书管理

    在IT领域,特别是网络安全和服务器配置中,OpenSSL被广泛用于创建和管理数字证书,确保数据传输的安全性。 在本文档中,我们将深入探讨如何使用OpenSSL来制作和管理证书,这些证书在数字证书认证和Java安全环境中至...

    keystoke证书转换nginx证书工具

    1. 使用`keytool`从`.keystore`文件中导出公钥证书,生成`.crt`文件。 2. 同样使用`keytool`导出私钥,生成`.key`文件。 3. 可能还需要合并`.key`和`.crt`文件到一个`.pem`文件,以便Nginx能够读取。 4. 对于`.pfx`...

    OpenSSL使用指南

    对于需要使用HTTPS的JAVA应用程序,需将证书文件“xxx.cer”复制到`C:\IBM\WebSphere\AppServer\java\jre\bin`目录下,并使用keytool命令将其导入JAVA的信任库。命令如下: ``` keytool -import -v -trustcacerts -...

    tomcat的双向ssl配置

    5. **导入证书到Tomcat**:将服务器证书和私钥导入到Tomcat的`$CATALINA_HOME/conf/catalina.keystore`,并设置`server.xml`中的`keystoreFile`和`keyAlias`属性。 6. **配置客户端认证**:在`server.xml`的`...

Global site tag (gtag.js) - Google Analytics