证书的相关操作主要是在CMD窗口使用keytool工具
Keytool 是一个Java数据证书的管理工具 ,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里,包含两种数据:密钥实体(Key entity)-密钥(secret key)或者是私钥和配对公钥(采用非对称加密)可信任的证书实体(trusted certificate entries)-只包含公钥.
JDK中keytool常用参数说明(不同版本有差异,详细可参见【附录】中的官方文档链接):
-
-genkey 在用户主目录中创建一个默认文件”.keystore”,还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书(在没有指定生成位置的情况下,keystore会存在用户系统默认目录)
-
-alias 产生别名 每个keystore都关联这一个独一无二的alias,这个alias通常不区分大小写
-
-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中)
-
-keyalg 指定密钥的算法 (如 RSA DSA,默认值为:DSA)
-
-validity 指定创建的证书有效期多少天(默认 90)
-
-keysize 指定密钥长度 (默认 1024)
-
-storepass 指定密钥库的密码(获取keystore信息所需的密码)
-
-keypass 指定别名条目的密码(私钥的密码)
-
-dname 指定证书发行者信息 其中: “CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名 称,ST=州或省份名称,C=单位的两字母国家代码”
-
-list 显示密钥库中的证书信息 keytool -list -v -keystore 指定keystore -storepass 密码
-
-v 显示密钥库中的证书详细信息
-
-export 将别名指定的证书导出到文件 keytool -export -alias 需要导出的别名 -keystore 指定keystore -file 指定导出的证书位置及证书名称 -storepass 密码
-
-file 参数指定导出到文件的文件名
-
-delete 删除密钥库中某条目 keytool -delete -alias 指定需删除的别 -keystore 指定keystore – storepass 密码
-
-printcert 查看导出的证书信息 keytool -printcert -file g:\sso\michael.crt
-
-keypasswd 修改密钥库中指定条目口令 keytool -keypasswd -alias 需修改的别名 -keypass 旧密码 -new 新密码 -storepass keystore密码 -keystore sage
-
-storepasswd 修改keystore口令 keytool -storepasswd -keystore g:\sso\michael.keystore(需修改口令的keystore) -storepass pwdold(原始密码) -new pwdnew(新密码)
-
-import 将已签名数字证书导入密钥库 keytool -import -alias 指定导入条目的别名 -keystore 指定keystore -file 需导入的证书
内容概览:
keytool的几个常用的命令。
1.创建证书
2.查看证书库
3.导出证书文件
4.导入证书的信息
5.查看证书信息
6.删除密钥库中的条目
7.修改证书条目的口令
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 cacerts -storepass changeit
查看名为test.keystore的证书库中的证书条目
3.导出到证书文件
keytool -export -alias test1 -file test.crt -keystore cacerts
功能:
将名为test.keystore的证书库中别名为test1的证书条目导出到证书文件test.crt中
4.导入证书的信息:
keytool -import -keystore C:\bea\jdk142_08\jre\lib\security\cacerts -storepass changeit -keypass changeit -alias bocommca -file root.cer
keytool -import -keystore cacerts -storepass changeit -keypass changeit -alias bocommca -file root.cer
上面一句是指定证书的路径,下一句是要先到目录下面
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中的证书条目
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
分享到:
相关推荐
- **数据加密**:在与第三方支付平台交互过程中,涉及敏感信息(如用户银行卡号、密码)时,项目中应有相应的加密措施。 - **异常处理**:在调用支付接口时可能会遇到网络异常、参数错误等问题,源码中应包含完善...
农行网银支付接口-B2C支付ASP.NET版是一个针对电子商务平台(B2C,Business-to-Consumer)设计的支付解决方案。此接口允许商家集成中国农业银行的网上支付服务,以便消费者可以直接通过农行的网银系统进行在线交易。...
【交通银行B2C网上支付】是交通银行提供的面向个人消费者的电子商务支付服务,它主要针对的是网络零售业,如在线销售书籍、鲜花、电子产品、通信工具等商品的商家。这一服务使得消费者能够方便地通过互联网进行购物...
这个接口允许商家集成农业银行的在线支付系统,以便顾客可以在购物后通过农行网银进行安全快捷的支付操作。下面将详细介绍这个支付接口的功能、使用流程以及相关的技术要点。 1. **支付请求**:在购物车结算环节,...
聚合支付系统是一种现代支付解决方案,它允许商家通过一个统一的接口来处理来自多种支付渠道的交易,如支付宝、微信支付、银联等。这个毕业设计项目的核心目标是实现这样一个平台,方便用户根据自己的喜好和支付习惯...
- **数据层**: 如互联网支付、POS收单、前置消息队列、缓存系统、文件系统、CA证书服务、企业OA、无卡支付等。 - **客户端**: 包括客户端前置和内部功能应用,如对账应用、结算任务、日终任务、报表分析、队列监听、...
3. **证书与签名**:为了确保交易的安全性,企业在调用微信支付API时,需要使用SSL证书,并且在请求中加入签名,以验证请求来源的合法性。 4. **请求参数**:调用API时,企业需要提供一系列参数,包括但不限于付款...
支付接口通常支持多种支付方式,如快捷支付、微信支付、银行卡支付等。 2. **查询订单状态接口**:在用户支付后,商家需要实时获取订单的最新状态,以更新库存、发货等后续操作。通过调用这个接口,可以查询订单...