步骤一:生成orange.keystore和banana.keystore

keytool -genkey -alias orange -keyalg RSA -keysize 1024 -keypass kingkp -storepass kingsp -validity 365 -keystore d:/research/keystore/orange.keystore
后续输入6次orange,并按y确认生成
keytool -genkey -alias banana -keyalg RSA -keysize 1024 -keypass kingkp -storepass kingsp -validity 365 -keystore d:/research/keystore/banana.keystore
后续输入6次banana,并按y确认生成

步骤二:从orange.keystore和banana.keystore导出orange.cer和banana.cer

keytool -export -alias orange -keystore d:/research/keystore/orange.keystore -file d:/research/cer/orange.cer -storepass kingsp
keytool -export -alias banana -keystore d:/research/keystore/banana.keystore -file d:/research/cer/banana.cer -storepass kingsp

步骤三:复制orange.keystore并备份成orangeBak.keystore,等会用于比较

步骤四:把banana.cer证书导入到orange.keystore

keytool -import -file D:/research/cer/banana.cer -keystore D:/research/keystore/orange.keystore -alias banana

C:\Users\>keytool -import -file D:/research/cer/banana.cer -keystore D:/research/keystore/orange.keystore -alias banana
输入密钥库口令:
所有者: CN=banana, OU=banana, O=banana, L=banana, ST=banana, C=banana
发布者: CN=banana, OU=banana, O=banana, L=banana, ST=banana, C=banana
序列号: 8c15102
有效期开始日期: Thu Oct :: CST , 截止日期: Fri Oct :: CST
证书指纹:
MD5: E4:7F:::B5::AF::B2:::8B::3C::2E
SHA1: DD:::C3:::4C:BA:9D::BD::::::7A:AA:F8:
SHA256: B4:3C:1E:0A:9B:9E:::7B::::F4:C9:EC:FB::8F:AE::FD:2D:::A3:FA:FD::FE::F7:EF
签名算法名称: SHA256withRSA
版本: 扩展: #: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
: 1F 3F 5F C6 1D 2F DE AD 8A CB 9E .?)_.#.../.s....
: 5D 3B E3 ];i.
]
] 是否信任此证书? [否]: y
证书已添加到密钥库中

步骤四报错补充说明:
以下导入会导致步骤四报错:因为orange.keystore中已存在orange.cer证书
keytool -import -file D:/research/cer/orange.cer -keystore D:/research/keystore/orange.keystore -alias orange
以下导入会导致步骤四报错:因为orange.cer中没有banana这个别名
keytool -import -file D:/research/cer/banana.cer -keystore D:/research/keystore/orange.keystore -alias banana
以下导入会导致步骤四报错:因为没有指定keystore文件
keytool -import -file D:/research/cer/banana.cer -keystore D:/research/keystore/ -alias banana

步骤五:比较旧keystore和新合并的keystore差异

keytool -list -v -keystore d:/research/keystore/orangeBak.keystore -storepass kingsp
keytool -list -v -keystore d:/research/keystore/orange.keystore -storepass kingsp

显示结果如下:

keytool -list -v -keystore d:/research/keystore/orangeBak.keystore -storepass kingsp

C:\Users\>keytool -import -file D:/research/cer/banana.cer -keystore D:/research/keystore/orange.keystore -alias banana
输入密钥库口令: kingkp
所有者: CN=banana, OU=banana, O=banana, L=banana, ST=banana, C=banana
发布者: CN=banana, OU=banana, O=banana, L=banana, ST=banana, C=banana
序列号: 8c15102
有效期开始日期: Thu Oct :: CST , 截止日期: Fri Oct :: CST
证书指纹:
MD5: E4:7F:::B5::AF::B2:::8B::3C::2E
SHA1: DD:::C3:::4C:BA:9D::BD::::::7A:AA:F8:
SHA256: B4:3C:1E:0A:9B:9E:::7B::::F4:C9:EC:FB::8F:AE::FD:2D:::A3:FA:FD::FE::F7:EF
签名算法名称: SHA256withRSA
版本: 扩展: #: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
: 1F 3F 5F C6 1D 2F DE AD 8A CB 9E .?)_.#.../.s....
: 5D 3B E3 ];i.
]
] 是否信任此证书? [否]: y
证书已添加到密钥库中 C:\Users\>keytool -list -v -keystore d:/research/keystore/orangeBak.keystore -storepass kingsp 密钥库类型: JKS
密钥库提供方: SUN 您的密钥库包含 个条目 别名: orange
创建日期: --
条目类型: PrivateKeyEntry
证书链长度:
证书[]:
所有者: CN=orange, OU=orange, O=orange, L=orange, ST=orange, C=orange
发布者: CN=orange, OU=orange, O=orange, L=orange, ST=orange, C=orange
序列号:
有效期开始日期: Thu Oct :: CST , 截止日期: Fri Oct :: CST
证书指纹:
MD5: :8A:CA:1D:::7B::FC::3B:AC:BA:B7::
SHA1: 8C:BB::8D:DD:0A:::C7:A5:AB::::::F6:::6C
SHA256: :2D:2D:3B::::AB::C7::9D:3A::C7:C2:8F:0B:DD::F1::E3:::8E:C1::EF:8D:AE:D4
签名算法名称: SHA256withRSA
版本: 扩展: #: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
: F5 E0 C4 5E B5 3D B8 F8 1E DB E8 ...^..=...%.. ..
: AE C3 1B ..'.
]
] *******************************************
*******************************************

keytool -list -v -keystore d:/research/keystore/orange.keystore -storepass kingsp

C:\Users\>keytool -list -v -keystore d:/research/keystore/orange.keystore -storepass kingsp

密钥库类型: JKS
密钥库提供方: SUN 您的密钥库包含 个条目 别名: banana
创建日期: --
条目类型: trustedCertEntry 所有者: CN=banana, OU=banana, O=banana, L=banana, ST=banana, C=banana
发布者: CN=banana, OU=banana, O=banana, L=banana, ST=banana, C=banana
序列号: 8c15102
有效期开始日期: Thu Oct :: CST , 截止日期: Fri Oct :: CST
证书指纹:
MD5: E4:7F:::B5::AF::B2:::8B::3C::2E
SHA1: DD:::C3:::4C:BA:9D::BD::::::7A:AA:F8:
SHA256: B4:3C:1E:0A:9B:9E:::7B::::F4:C9:EC:FB::8F:AE::FD:2D:::A3:FA:FD::FE::F7:EF
签名算法名称: SHA256withRSA
版本: 扩展: #: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
: 1F 3F 5F C6 1D 2F DE AD 8A CB 9E .?)_.#.../.s....
: 5D 3B E3 ];i.
]
] *******************************************
******************************************* 别名: orange
创建日期: --
条目类型: PrivateKeyEntry
证书链长度:
证书[]:
所有者: CN=orange, OU=orange, O=orange, L=orange, ST=orange, C=orange
发布者: CN=orange, OU=orange, O=orange, L=orange, ST=orange, C=orange
序列号:
有效期开始日期: Thu Oct :: CST , 截止日期: Fri Oct :: CST
证书指纹:
MD5: :8A:CA:1D:::7B::FC::3B:AC:BA:B7::
SHA1: 8C:BB::8D:DD:0A:::C7:A5:AB::::::F6:::6C
SHA256: :2D:2D:3B::::AB::C7::9D:3A::C7:C2:8F:0B:DD::F1::E3:::8E:C1::EF:8D:AE:D4
签名算法名称: SHA256withRSA
版本: 扩展: #: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
: F5 E0 C4 5E B5 3D B8 F8 1E DB E8 ...^..=...%.. ..
: AE C3 1B ..'.
]
] *******************************************
*******************************************

对比后可以看到新的密钥库已经变成了2个条目的keystore

我的其它相关链接

keytool导入导出多条目对比

java keytool证书工具使用小结【转】

keytool导入导出多条目对比【原】的更多相关文章

  1. MySQL5.7.18 备份、Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份,数据导入导出

    粗略介绍冷备,热备,温暖,及Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份 --备份的目的 灾难恢复:意外情况下(如服务器宕机.磁盘损坏等)对损 ...

  2. csv表格处理(上)-- JS 与 PHP 协作导入导出

    CSV简介 在开发后台管理系统的时候,几乎无可避免的会遇到需要导入导出Excel表格的需求.csv也是表格的一种,其中文名为“逗号分隔符文件”.在Excel中打开如下图左边所示,在记事本打开如下图右边 ...

  3. thinkphp导入导出excel表单数据

    在PHP项目经常要导入导出Excel表单. 先去下载PHPExcel类库文件,放到相应位置. 我在thinkphp框架中的位置为ThinkPHP/Library/Org/Util/ 导入 在页面上传e ...

  4. MYSQL 数据库导入导出命令

    MySQL命令行导出数据库 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Serve ...

  5. 关于 Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法

    在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中2. 建立数据库间的 ...

  6. MYSQL数据导入导出

    在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生.所以一般推荐用SQL脚本形式导入.下面分别介绍两种方法. 进入cmd 导出所有数据库:输入:mysqldump -u ...

  7. Oracle创建删除用户,角色,表空间,导入导出数据库命令总结(转载)

    无意间看到一篇文章,觉得对于ORACLE的新手很实用,特转载,原文出处这里 说明:在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后 ...

  8. JAE京东云引擎Git上传管理代码教程和京东云数据库导入导出管理

    文章目录 Git管理准备工作 Git工具上传代码 发布代码装程序 mywebsql管理 京东云引擎小结   JAE京东云引擎是京东推出的支持Java.Ruby.Python.PHP.Node.js多语 ...

  9. JAVA实现数据库数据导入/导出到Excel(POI)

    准备工作: 1.导入POI包:POI下载地址http://mirrors.tuna.tsinghua.edu.cn/apache/poi/release/src/(重要) 如下 2.导入Java界面美 ...

随机推荐

  1. MySql的CURRENT_TIMESTAMP

    在创建时间字段的时候 DEFAULT CURRENT_TIMESTAMP表示当插入数据的时候,该字段默认值为当前时间 ON UPDATE CURRENT_TIMESTAMP表示每次更新这条数据的时候, ...

  2. session的基本原理及安全性

    1.session原理 提到session,大家肯定会联想到登录,登录成功后记录登录状态,同时标记当前登录用户是谁.功能大体上就是这个样子,但是今天要讲的不是功能,而是实现.通过探讨session的实 ...

  3. 记OI退役

    前言 (这篇本来在联赛前写了一点,但是一直没有发布.现在退役了,还是把它发出来留作纪念吧!) 其实,这篇随笔早该在停课时就写,可是我却迟迟没有动笔. 可能是我真的太懒了,或许也是我想要逃避自己内心的真 ...

  4. Hdoj 2050.折线分割平面 题解

    Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目.比如,一条折线可以将平面分成两部分,两条折线最多可以将平面 ...

  5. 【转】IAR Embedded Workbench for ARM 8.22.1 基础使用教程

    @2018-12-15 [小记] IAR Embedded Workbench for ARM 8.22.1 基础使用教程

  6. sublime text3 replace和反向引用

    实用小技巧,主要用于替换爬虫请求头,节省时间. chrome原信息显示: UserID: sds UserPass: sdsd codeKey: 350753 code: 277 B1: 提 subl ...

  7. centos7添加并挂载新硬盘

    环境目标: 配置一台centos7,主硬盘40G装系统:副硬盘200G作为数据盘(格式:XFS)挂载到根目录:/data/ 说明:XFS是高性能文件系统,SGI为他们的 IRIX平台而设计: 自从20 ...

  8. bouncing-balls

    效果如下: 代码目录如下: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charse ...

  9. SWOT分析法——进行项目管理的高效方法

    SWOT分析法是什么 SWOT分析法,即态势分析法,就是将与研究对象密切相关的各种主要内部优势.劣势和外部的机会和威胁等,通过调查列举出来,并依照矩阵形式排列,然后用系统分析的思想,把各种因素相互匹配 ...

  10. R语言绘图(FZ)

    P-Value Central Lmit Theorem(CLT) mean(null>diff) hist(null) qqnorm(null) qqline(null) pops<-r ...