使用Keytool工具生成证书Keystore和证书签名请求文件
内容概览:
keytool的几个常用的命令。
1.创建证书
2.查看证书库
3.导出证书文件
4.导入证书的信息
5.查看证书信息
6.删除密钥库中的条目
7.修改证书条目的口令
--------------------------------------------------------------------------------------
预备知识:
SUN公司提供了制作证书的工具keytool。
在JDK 1.4以后的版本中都包含了这一工具,它的位置为\bin\keytool.exe。
--------------------------------------------------------------------------------------
主要内容:
1.创建证书
- keytool -genkeypair -alias "test1" -keyalg "RSA" -keystore "test.keystore"

说明:
密钥库密码为testtest
证书条目密码为testtest1,若别名为test2则密码为testtest2
这样为个不乱
功能:
创建一个别名为test1的证书条目,该条目存放在名为test.keystore的密钥库中,若test.keystore密钥库不存在则创建。
参数说明:
-genkeypair:生成一对非对称密钥;
-alias:指定密钥对的别名,该别名是公开的;
-keyalg:指定加密算法,本例中的采用通用的RAS加密算法;
-keystore:密钥库的路径及名称,不指定的话,默认在操作系统的用户目录下生成一个".keystore"的文件
注意:
1.“名字与姓氏”应该是域名,若输成了姓名,和真正运行的时候域名不符,会出问题;
2.再次输入密码,第一次输入的是密钥库(keystore)的密码,第二次输入的是证书条目的密码
3.这里所说的证书库和密钥库是等同的(个人观点)
为了测试需要,这里再创建两个别名为test2和test3的证书条目在test.keystore密钥库中,代码如下:
- keytool -genkeypair -alias "test2" -keyalg "RSA" -keystore "test.keystore"
- keytool -genkeypair -alias "test3" -keyalg "RSA" -keystore "test.keystore"
2.查看证书库
- keytool -list -keystore test.keystore

功能:
查看名为test.keystore的证书库中的证书条目
3.导出到证书文件
- keytool -export -alias test1 -file test.crt -keystore test.keystore

功能:
将名为test.keystore的证书库中别名为test1的证书条目导出到证书文件test.crt中
4.导入证书的信息
- keytool -import -keystore test_cacerts -file test.crt

功能:
将证书文件test.crt导入到名为test_cacerts的证书库中,
5.查看证书信息
- keytool -printcert -file "test.crt"

功能:
查看证书文件test.crt的信息
6.删除密钥库中的条目
删除前查看密钥库test.keysote中的证书条目
- keytool -list -keystore test.keystore
删除密钥库test.keystore中别名为test2的证书条目
- keytool -delete -keystore test.keystore -alias test2
删除后查看密钥库test.keystore中的证书条目
- keytool -list -keystore test.keystore

7.修改证书条目的口令
交互的方式
- keytool -keypasswd -alias test1 -keystore test.keystore

功能:
将密钥库test.keystore中别名为test1的证书条目的密码修改为testtesttest1
非交互方式
- keytool -keypasswd -alias test1 -keypass testtesttest1 -new testtest1 -storepass testtest -keystore test.keystore
功能:
将密钥库test.keystore中别名为test1的证书条目的密码修改为testtest1
使用Keytool工具生成证书Keystore和证书签名请求文件的更多相关文章
- tomcat配置https–采用JDK自带的keytool工具生成证书
转自:http://blog.csdn.net/huangxinyu_it/article/details/41693633 有关http与https的区别请看<浅谈http与https的区别( ...
- keytool工具生成自签名证书并且通过浏览器导入证书
1.生成服务器证书库 keytool -genkey -alias tomcat -keypass changeit -keyalg RSA -keysize 1024 -validity 365 - ...
- 利用keytool工具生成数字证书
一.制作数字证书 因测试微信小程序, 腾讯要求使用 https协议,所以需要使用证书.使用jdk工具制作数字证书流程如下: 1.查看JDK是否安装,使用命令java -version 2.切换目录至 ...
- 使用JDK自带的keytool工具生成证书
一.keytool 简介 keytool 是java用于管理密钥和证书的工具,它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及 ...
- 用keytool工具生成签名文件与获取摘要信息
在Command命命令行模式下: 转到工作目录 执行下面命令: keytool -genkey -v -keystore debug.keystore 最后是生成的文件名,执行该命令后有很多内容要填写 ...
- 用Keytool和OpenSSL生成和签发数字证书
一)keytool生成私钥文件(.key)和签名请求文件(.csr),openssl签发数字证书 J2SDK在目录%JAVA_HOME%/bin提供了密钥库管理工具Keytool,用于管理密 ...
- OPENSSL生成SSL自签证书
OPENSSL生成SSL自签证书 目前,有许多重要的公网可以访问的网站系统(如网银系统)都在使用自签SSL证书,即自建PKI系统颁发的SSL证书,而不是部署支持浏览器的SSL证书. 支持浏览器的SSL ...
- 4.第三篇 PKI基础概念、cfssl工具介绍及kubernetes中证书
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483787&idx=1&sn=08dd3404 ...
- [转帖]密钥库文件格式(Keystore)和证书文件格式(Certificate)
密钥库文件格式[keystore]代码 https://blog.csdn.net/zzhongcy/article/details/22755317 格式 : JKS 扩展名 : .jks/.ks ...
随机推荐
- iOS开发中自定义字体的方法
http://www.cnblogs.com/iyou/archive/2014/05/25/3751669.html 1. 首先下载你想要设置的字体库,例如设置方正启体简体 2. 添加到工程,一定要 ...
- 从头开始编写一个Orchard网上商店模块(4) - 创建ProductPart
原文地址:http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-par ...
- struct ifconf和struct ifreq,获取网线插入状态
这两天看用C获取当前网口的插入网线状态的程序,遇见了这两个不熟悉的结构体,看了头文件中的说明和详细. struct ifreq 这个结构定义在include/net/if.h,用来配置ip地址,激活接 ...
- HDU5647 DZY Loves Connecting 树形DP
(先奉上jcvb大神的官方题解)BC 76 div 1 1002 对于每个结点i,统计出f[i]表示包含i的连通集有多少个,那么容易看出答案就是所有f[i]的和. 要计算f[i]是经典的树形DP问题. ...
- [Raobin] Ext.net在页面中以窗体的形式打开另外的页面
public ActionResult NewPartWindow(string id, string copy, string code) { var vm = new VM(this); var ...
- java命名规范和编程技巧
一个好的java程序首先命名要规范. 命名规范 定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,方便维护等作用 Package 的命名 Package 的名字应该都是由一个小写 ...
- shell 加法
shell 加法 i=$i+1 是在i的变量值后加上字符串'+1' 总结:其他语言中的$i++操作在shell中表示如下:#!/bin/bash n=1;echo -n "$n " ...
- node系列4
进程管理 NodeJS可以感知和控制自身进程的运行环境和状态,也可以创建子进程并与其协同工作,这使得NodeJS可以把多个程序组合在一起共同完成某项工作,并在其中充当胶水和调度器的作用.本章除了介绍与 ...
- 《Android View 的事件分发和滑动冲突》 —预习资料
1. 阅读书籍<Android开发艺术探索>第三章 2. 提前阅读如下技术文章: http://blog.csdn.net/singwhatiwanna/article/details/3 ...
- Introduction to SignalR -摘自网络
What is SignalR? ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of ...