一、生成一个含有一个私钥的keystore文件

user@ae01:~$ keytool -genkey -keystore keystore -alias jetty-azkaban -keyalg RSA
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]: azkaban
What is the name of your organizational unit?
[Unknown]: Jetty
What is the name of your organization?
[Unknown]: Aug
What is the name of your City or Locality?
[Unknown]: SH
What is the name of your State or Province?
[Unknown]: SH
What is the two-letter country code for this unit?
[Unknown]:
Is CN=azkaban, OU=Jetty, O=Aug, L=SH, ST=SH, C= correct?
[no]: yes
Enter key password for <jetty-azkaban2>
(RETURN if same as keystore password):

二、验证生成的keystore文件

keytool -list -v -keystore keystore.jks
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN Your keystore contains entry Alias name: jetty-azkaban
Creation date: Jul ,
Entry type: PrivateKeyEntry
Certificate chain length:
Certificate[]:
Owner: CN=azkaban, OU=Jetty, O=Aug, L=SH, ST=SH, C=
Issuer: CN=azkaban, OU=Jetty, O=Aug, L=SH, ST=SH, C=
Serial number: 5f84c457
Valid from: Wed Jul :: CST until: Tue Oct :: CST
Certificate fingerprints:
MD5: 2F:D3:D9::0E:DD:B5:CD::E0:5F:C0:C5:::FD
SHA1: FD:0B:B4:::CE:7A:::DF::2A:A0:2A::A5:AE:AE::
SHA256: D5:EE::BF:E6::FC:4E:B3:B4:CD:8B::1D:D1::D0:CD::D8:::F8:9D:D9:5E::E1:AA:FB::CB
Signature algorithm name: SHA256withRSA
Version: Extensions: #: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
: B5 F0 F5 D4 9E 4C D4 B0 ..&.....L(.(..!.
: 6E A7 1E E0 n...
]
] *******************************************
*******************************************

三、导出凭证文件

user@ae01:~$ keytool -export -alias jetty-azkaban -keystore keystore.jks -rfc -file selfsignedcert.cer
Enter keystore password:

生成的cer文件内容如下:

user@ae01:~$ cat selfsignedcert.cer
-----BEGIN CERTIFICATE-----
MIIDTTCCAjWgAwIBAgIEX4TEVzANBgkqhkiG9w0BAQsFADBXMQswCQYDVQQGEwI4NjELMAkGA1UE
CBMCU0gxCzAJBgNVBAcTAlNIMQwwCgYDVQQKEwNBdWcxDjAMBgNVBAsTBUpldHR5MRAwDgYDVQQD
EwdhemthYmFuMB4XDTE0MDcwOTA3MDk0MVoXDTE0MTAwNzA3MDk0MVowVzELMAkGA1UEBhMCODYx
CzAJBgNVBAgTAlNIMQswCQYDVQQHEwJTSDEMMAoGA1UEChMDQXVnMQ4wDAYDVQQLEwVKZXR0eTEQ
MA4GA1UEAxMHYXprYWJhbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALtFxXjvwjfM
W10cs1f35eeswYGKghZXcIbUmGY1SiWhwsw0ZgajTPf9sXCK6wMkN83XO1JOE2x3g3BVdN51CMZ6
XvEr5cvjOn15t3vUIsWJoBi1Bk2D25fDS3GDVr8qF/ghOMcQXo+Ut6vLMVTrrNzbs7ifB6UNiPMP
gSfGJwrfoEL9cSTCmsXq4Dx1HxEcgd4+KxOgbKPHx9Q4Iv6+HV091IWGdIElmUxaWgasD7mArdmi
DvLd7kQzWWXiky0RVde/LX0Z4zH9RVtuuN7dvK433gnBIYZJeOzoo3J2gIepzwmBl3q2HHNMfDhu
paGsKYYx5vAtzSAFQmATeRf8b2kCAwEAAaMhMB8wHQYDVR0OBBYEFLWXJpXw9dSeTCiEKNSwIZBu
px7gMA0GCSqGSIb3DQEBCwUAA4IBAQCAnuL1Wkfx+bPSyPPlqysMcjTc1pvv8hDU+8V4BV1u5f/v
+etJ4gIdv9d6f4phkvBtoxEgQIq1VqONhdJrWL+J0h4W05Cy0AR/tkLA19VjhkIQvh7ZFBfJ6G/K
7JbmH0/f1oplrkQ9jMUdji7gE8OINNRynJGdgH9xd8Mm1I6+IBjUVUY7jKoVxKzkwJaH06fKUTp3
oPqmfyW7ZekzvVXQhqADEpsmZ6Hd30dmzJWkI2lwbsQNE9vf3dG7qKLDeWi78A7KZc3qtBvDUmyh
eztUpmAM/PCoO+vmCgZALkaQ1sTWORqQOsylSBY2ZDul0si+rI0nZ9Y6dTxhgFxe9QoB
-----END CERTIFICATE-----

四、导入认凭证件cer文件到truststore文件

user@ae01:~$ keytool -import -alias certificatekey -file selfsignedcert.cer -keystore truststore.jks
Enter keystore password:

查看生成的truststore文件

user@ae01:~$ keytool -list -v -keystore truststore.jks
Enter keystore password: Keystore type: JKS
Keystore provider: SUN Your keystore contains entry Alias name: jetty-azkaban
Creation date: Jul ,
Entry type: trustedCertEntry Owner: CN=azkaban, OU=Jetty, O=Aug, L=SH, ST=SH, C=
Issuer: CN=azkaban, OU=Jetty, O=Aug, L=SH, ST=SH, C=
Serial number: 5f84c457
Valid from: Wed Jul :: CST until: Tue Oct :: CST
Certificate fingerprints:
MD5: 2F:D3:D9::0E:DD:B5:CD::E0:5F:C0:C5:::FD
SHA1: FD:0B:B4:::CE:7A:::DF::2A:A0:2A::A5:AE:AE::
SHA256: D5:EE::BF:E6::FC:4E:B3:B4:CD:8B::1D:D1::D0:CD::D8:::F8:9D:D9:5E::E1:AA:FB::CB
Signature algorithm name: SHA256withRSA
Version: Extensions: #: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
: B5 F0 F5 D4 9E 4C D4 B0 ..&.....L(.(..!.
: 6E A7 1E E0 n...
]
] *******************************************
*******************************************

keytool创建Keystore和Trustsotre文件的更多相关文章

  1. 用keytool创建Keystore和Trustsotre文件只需五步

    用keytool创建Keystore和Trustsotre文件 JSSE使用Truststore和Keystore文件来提供客户端和服务器之间的安全数据传输.keytool是一个工具可以用来创建包含公 ...

  2. JDK的KeyTool和KeyStore等加密相关

    Keytool是一个有效的安全钥匙和证书的管理工具. Java 中的 keytool.exe (位于JDK\Bin下)可以用来创建数字证书,所有的数字证书是以一条一条(用别名区别,不区分大小)地存储在 ...

  3. JAVA调用 keytool 生成keystore 和 cer 证书

    keytool是一个Java数据证书的管理工具, keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里, 包含两种数据: 密钥实体( ...

  4. java 调用 keytool 生成keystore 和 cer 证书

    keytool是一个Java数据证书的管理工具, keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里, 包含两种数据:密钥实体(K ...

  5. 无法在“EntityFramework”已存在的情况下创建影像复制该文件的解决方案

    问题产生的原因:你项目正在生成中你就打开浏览器预览了,导致这个问题解决方案:右击重新生成项目,等生成后再打开 “/”应用程序中的服务器错误. 无法在“EntityFramework”已存在的情况下创建 ...

  6. 在SharePoint中创建可自定义属性的文件夹

    概况 阅读时间:约5分钟 适用版本:SharePoint Server 2010及以上 面向用户:普通用户.管理员.开发人员 难度指数:★★★☆☆ SharePoint中的文件夹分为2种,一种是文档库 ...

  7. 使用dom4j创建和解析xml文件

    使用dom4j创建和解析xml文件 在项目开发中,我们经常会遇到xml文件的创建和解析从别人接口得到的xml文件,而我们最常使用的组件是dom4j. 下面我就以代码来讲解一下如何使用dom4j来创建x ...

  8. linux基础-第九单元 利用vi编辑器创建和编辑正文文件

    vi编辑器简介 什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下删 ...

  9. 在C#中创建和读取XML文件

    1.创建简单的XML文件 为了便于测试,我们首先创建控制台应用程序,项目命名为CreateXml,Program.cs代码如下: 这样会在C盘根目录下创建data2.xml文件,文件内容为 using ...

随机推荐

  1. NYOJ题目57 6174问题

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAscAAAJLCAIAAACE5qzaAAAgAElEQVR4nO3dMXKrutvH8XcT6bOQ1C ...

  2. NYOJ之XX和OO

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAskAAAI0CAIAAABgWyN9AAAgAElEQVR4nO3dPW7jyt4n4NmEcy/EaW

  3. NYOJ之字符串逆序输出

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAswAAAJaCAIAAAC0jIYTAAAgAElEQVR4nO3du27rSpbGcb+Ecz2IU+ ...

  4. 2.1顺序容器-vector

    vector 1) *   :使用vector必须包含vector头文件.可变长的动态数组,支持随机访问,所有STL算法都可以对vector进行操作. ** :随机根据下标访问某个元素的时间是一个常数 ...

  5. LR结果分析——TPS和吞吐率

    针对吞吐率和TPS的关系,这个在结果分析中如何使用,就个人经验和朋友讨论后,提出如下建议指导,欢迎同僚指正. TPS:transaction per second 服务器每秒处理的事务数. 吞吐率:测 ...

  6. Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- ApiWrapper

    前面两片文章讲解了通过AIDL和Messenger两种方式实现Android IPC.而本文所讲的并不是第三种IPC方式,而是对前面两种方式进行封装,这样我们就不用直接把Aidl文件,java文件拷贝 ...

  7. Python 打包程序判断是否已经运行

    代码如下: # -*- coding: UTF8 -*- from win32com.client import Dispatch import win32com import sys, os fro ...

  8. HDU1294 Rooted Trees Problem(整数划分 组合数学 DP)

    讲解见http://www.cnblogs.com/IMGavin/p/5621370.html, 4 可重组合 dfs枚举子树的节点个数,相乘再累加  1 #include<iostream& ...

  9. php判断访问的当前设备是手机还是电脑

    <?php function isMobile(){ $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AG ...

  10. 【leetcode】plus One

    问题描述: Given a non-negative number represented as an array of digits, plus one to the number. The dig ...