keytool使用方法
使用KeytoolGUI生成Keystore
目录1.启动KeytoolGUI工具 (3)2.信任列表keystore的制作 (3)3.服务器证书keystore的制作 (5)3.1.产生keystore,导入信任根证书 (5)3.2.产生密钥对,生成请求 (6)3.2.1.产生密钥对 (6)3.2.2.导入CA签发的服务器cer证书 (8)3.3.从pfx文件导入 (9)4.注意事项 (11)KeytoolGUI工具是一个Java图形界面的密钥库管理工具,支持JKS、PKCS12(pfx文件)等密钥库格式。
利用该工具可以非常方便的生成信任列表keystore、服务器证书keystore,不必再使用繁琐且易出错的keytool命令行。
1.启动KeytoolGUI工具启动该工具需要有jre环境,最好是1.4版本。
设置好jre/bin路径,达到在命令行中键入java命令可以出现提示的效果后,运行run.cmd即可启动。
启动后界面如下:2.信任列表keystore的制作信任列表keystore的生成就是将根证书导入keystore中。
选择File菜单中的New Keystore,新建一个jks格式的keystore,如图:选择JKS格式,点击OK。
出现如下界面:(和第一张图相比,工具栏图标已经可见)点击工具栏的导入信任根证书图标(如下图),或按Ctrl+T。
出现如下界面,此时即可选择根证书文件执行导入。
导入过程中会提示该证书无法验证信任路径,并将证书信息显示出来,询问是否信任等对话框,一直确定后,给根证书任意取一个别名,即完成了根证书的导入工作。
完成导入工作后,即可将该keystore保存,点击保存按钮后,出现设置Keystore密码的界面,如下图:输入至少六位的密码,选择保存路径后,信任证书列表Keystore即成功生成。
一般来说,在根证书中只需导入顶级根证即可。
客户端浏览器中只要安装了相应的二级根证,二级根证所颁发的证书即可获得信任,出现在证书选择框中。
CAS_SSO单点登录实例详细步骤
CAS SSO单点登录实例详细步骤原创作者:孙俊财第一步1、用keytool生成证书:命令:keytool -genkey -alias sjc -keyalg RSA -keysto re c:/store/mykey说明:这里-alias sjc 是表示生成的这个证书的别名叫sjc,-keyalg RSA 指的是采用的RSA算法,-keystore c:/store/mykey是指生成的证书存储的位置。
回车后会提示你输入keystore password,这可以自己定(这里输入sunjuncai,下面配tomcat时要用的),然后是一些个人信息及组织信息,可以轻松搞定。
注意:密码输入后,会让你输入其他信息,记得这里第一个姓名必须是服务器的域名这里我输入的是完整计算机名称:gaofeng.nmc.hamcc这里要注意如果不这样写就会报如下异常:java.io.IOException: HTTPS hostname wrong: should be <localhost>实战:C:\Documents and Settings\wangyoushi8>keytool -genkey -alias sjc -keyalg RSA -keystorec:/store/mykey输入keystore密码:sunjuncai您的名字与姓氏是什么?[Unknown]:gaofeng.nmc.hamcc您的组织单位名称是什么?[Unknown]:上海神洲数港您的组织名称是什么?[Unknown]:网络优化您所在的城市或区域名称是什么?[Unknown]:郑州您所在的州或省份名称是什么?[Unknown]:河南该单位的两字母国家代码是什么[Unknown]:ZHCN= gaofeng.nmc.hamcc, OU=上海神洲数港, O=网络优化, L=郑州, ST=河南, C=ZH 正确吗?[否]:y输入<sjc>的主密码(如果和keystore 密码相同,按回车):2、创建证书后,就导出证书:命令:keytool -export -file c:/store/server.crt -alias sjc -keystore c:/store/mykey说明:从c:/store/mykey里取出证书入到c:/store/下,如果没有指定,就是存放在目录下C:\Documents and Settings\用户目录名\实战:C:\Documents and Settings\wangyoushi8>keytool -export -file c:/store/server.crt -alias sjc-keystore C:/store/mykey输入keystore密码:sunjuncai保存在文件中的认证<c:/store/server.crt>3、为客户端的JVM导入密钥:命令:keytool -import -keystore D:/jdk1.5.0_12/jre/lib/security/cacerts -file c:/store/server.crt -alias sjc说明:注意:输入密码时密码为"changeit",这是默认密码.特别说明:这个D:/jdk1.5.0_12/jre/lib/security/cacerts是指JDK的JRE路径下的lib目录.至此,第一步完成。
java-keytool生成数字证书
Keytool是一个Java数据证书的管理工具,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里,包含两种数据:密钥实体(Key entity)——密钥(secret key)又或者是私钥和配对公钥(采用非对称加密)可信任的证书实体(trusted certificate entries)——只包含公钥ailas(别名)每个keystore都关联这一个独一无二的alias,这个alias通常不区分大小写JDK中keytool常用命令:-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书(在没有指定生成位置的情况下,keystore会存在用户系统默认目录,如:对于window xp系统,会生成在系统的C:\Documents and Settings\UserName\文件名为“.keystore”)-alias 产生别名-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中)-keyalg 指定密钥的算法(如RSA DSA(如果不指定默认采用DSA))-validity 指定创建的证书有效期多少天-keysize 指定密钥长度-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 yushan.crt-keypasswd 修改密钥库中指定条目口令keytool -keypasswd -alias 需修改的别名-keypass 旧密码-new 新密码-storepass keystore密码-keystore sage-storepasswd 修改keystore口令keytool -storepasswd -keystoree:\yushan.keystore(需修改口令的keystore) -storepass 123456(原始密码) -new yushan(新密码)-import 将已签名数字证书导入密钥库keytool -import -alias 指定导入条目的别名-keystore 指定keystore -file 需导入的证书下面是各选项的缺省值。
keytool -import -keystore 使用方法
keytool -import -keystore 使用方法keytool是Java 提供的一个用于管理密钥库和证书的命令行工具。
其中,-import -keystore是keytool提供的一组参数,用于导入证书到密钥库中。
本文将深入探讨keytool -import -keystore的使用方法,以及常见的应用场景。
keytool 简介keytool是Java 开发工具包(JDK)中的一部分,主要用于生成密钥对、管理密钥库和证书。
通过keytool,开发人员可以创建和管理用于加密通信的证书和密钥。
使用方法keytool -import -keystore主要用于将证书导入到指定的密钥库中。
以下是基本的使用方法:bashkeytool -import-file certificate.cer -keystore keystore.jks -alias myalias其中各个参数的含义如下:•-import: 表示执行导入操作。
•-file certificate.cer: 指定要导入的证书文件,通常是以.cer或.crt结尾的证书文件。
•-keystore keystore.jks: 指定要导入证书的密钥库文件,可以是已存在的或者新创建的。
•-alias myalias: 指定要为导入的证书指定的别名,用于在密钥库中标识该证书。
示例1. 创建新的密钥库bashkeytool -genkeypair-keyalg RSA -alias mykey -keystore mykeystore.jks -storepass keystorepass word -keypass keypassword这将生成一个新的密钥库mykeystore.jks,并生成一对RSA 密钥对,别名为mykey。
2. 生成证书请求bashkeytool -certreq-alias mykey -keystore mykeystore.jks -file mycertreq.csr -storepass keystorep assword -keypass keypassword这将为先前生成的密钥对生成一个证书请求文件mycertreq.csr。
android 系统签名方法
android 系统签名方法Android系统的签名方法涉及到应用程序的数字签名,用于验证应用程序的身份和完整性。
以下是进行Android系统签名的一般步骤:1. 获取密钥库和密钥:首先,您需要一个密钥库和私钥,用于创建应用程序的数字证书。
如果您已经有了一个密钥库和私钥,您可以跳过这一步。
否则,您需要生成一个新的密钥库和私钥。
2. 创建证书:使用`keytool`工具(它是Java Development Kit的一部分)创建证书。
例如,运行以下命令创建一个名为“my_”的证书:```csskeytool -genkey -alias my_certificate -keyalg RSA -keystore my_ -keysize 2048```3. 导出证书:使用`keytool`工具导出证书为`.pem`或`.cer`文件。
4. 签名应用程序:使用`jarsigner`工具(也是Java Development Kit的一部分)来签名您的应用程序。
例如:```bashjarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my_ my_certificate```5. 优化和打包:在签名之后,您通常会使用`zipalign`工具对应用程序进行优化和打包,以确保其在设备上运行得最好。
例如:```bashzipalign -v 4```6. 配置签名信息:在发布您的应用程序时,确保在Google Play Console中正确配置您的签名信息。
7. 发布:将签名的应用程序上传到Google Play或其他分发渠道。
请注意,具体的命令和参数可能会根据您的具体需求和环境有所不同。
此外,随着Android开发工具的更新,某些工具的位置或命令可能会有所变化。
确保参考最新的官方文档以获得最准确的信息。
keytool
Posted on 2008-04-16 15:33 Fingki.li 阅读(2154) 评论(0) 编辑 收藏 所属分类: About security
做SSL以来,一直在使用keytool,下面把它用法整理如下,以备以后查看。
1,产生一个密钥对
keytool -genkey -alias mykeypair -keypass mykeypairpwd
(如果没有名为truststore的keystore,将自动创建,将会提示输入keystore的密码)
12,更改密钥库的密码
keytool -storepasswd -new 123456 -storepass 789012 -keystore truststore
其中-storepass指定原密码,-new指定新密码。
7,将证书导出到证书文件
keytool -export -alias myCA -file myCA.cer -keystore myCALib -storepass 123456 -rfc
使用该命令从名为myCALib的keystore中,把别名为myCA的证书导出到证书文件myCA.cer中。(其中-storepass指定keystore的密码,-rfc指定以可查看编码的方式输出,可省略)。
liqingfeng@liqingfeng:~/WORK_APP/keytooltest$
4,Keystore的产生:
当使用-genkey 或-import或-identitydb命令添加数据到一个keystore,而当这个keystore不存在时,产生一个keystore.默认名是.keystore,存放到user-home目录.
数字证书中keytool命令使用说明
数字证书中keytool命令使⽤说明这个命令⼀般在JDK\jre\lib\security\⽬录下操作keytool常⽤命令-alias 产⽣别名-keystore 指定密钥库的名称(就像数据库⼀样的证书库,可以有很多个证书,cacerts这个⽂件是jre⾃带的,你也可以使⽤其它⽂件名字,如果没有这个⽂件名字,它会创建这样⼀个)-storepass 指定密钥库的密码-keypass 指定别名条⽬的密码-list 显⽰密钥库中的证书信息-v 显⽰密钥库中的证书详细信息-export 将别名指定的证书导出到⽂件-file 参数指定导出到⽂件的⽂件名-delete 删除密钥库中某条⽬-import 将已签名数字证书导⼊密钥库-keypasswd 修改密钥库中指定条⽬⼝令-dname 指定证书拥有者信息-keyalg 指定密钥的算法-validity 指定创建的证书有效期多少天-keysize 指定密钥长度使⽤说明:导⼊⼀个证书命令可以如下:keytool -import -keystore cacerts -storepass 666666 -keypass 888888 -alias alibabacert -file C:\alibabajava\cert\test_root.cer 其中-keystore cacerts中的cacerts是jre中默认的证书库名字,也可以使⽤其它名字-storepass 666666中的666666是这个证书库的密码-keypass 888888中的888888是这个特定证书的密码-alias alibabacert中的alibabacert是你导⼊证书的别名,在其它操作命令中就可以使⽤它-file C:\alibabajava\cert\test_root.cer中的⽂件路径就是要导⼊证书的路径浏览证书库⾥⾯的证书信息,可以使⽤如下命令:keytool -list -v -alias alibabacert -keystore cacerts -storepass 666666要删除证书库⾥⾯的某个证书,可以使⽤如下命令:keytool -delete -alias alibabacert -keystore cacerts -storepass 666666要导出证书库⾥⾯的某个证书,可以使⽤如下命令:keytool -export -keystore cacerts -storepass 666666 -alias alibabacert -file F:\alibabacert_root.cer要修改某个证书的密码(注意:有些数字认证没有私有密码,只有公匙,这种情况此命令⽆效)这个是交互式的,在输⼊命令后,会要求你输⼊密码keytool -keypasswd -alias alibabacert -keystore cacerts这个不是交互式的,输⼊命令后直接更改Keytool -keypasswd -alias alibabacert -keypass 888888 -new 123456 -storepass 666666 -keystore cacertsOwner: CN=BOCTestCA, O=BOCTest, C=CNIssuer: CN=BOCTestCA, O=BOCTest, C=CNSerial number: 31e60001Valid from: Tue Oct 28 16:54:26 CST 2008 until: Sat Oct 28 16:54:26 CST 2028Certificate fingerprints:MD5: F0:35:F9:69:31:AE:87:01:6C:2D:56:BD:02:0A:16:4ASHA1: 24:EF:84:14:4E:BD:0D:37:59:2D:70:28:79:10:88:EA:0A:06:13:20Signature algorithm name: SHA1withRSAVersion: 3Extensions:#1: ObjectId: 2.5.29.19 Criticality=trueBasicConstraints:[CA:truePathLen:2147483647]#2: ObjectId: 2.5.29.15 Criticality=falseKeyUsage [DigitalSignatureNon_repudiationKey_EnciphermentData_EnciphermentKey_AgreementKey_CertSignCrl_Sign]#3: ObjectId: 2.5.29.14 Criticality=falseSubjectKeyIdentifier [KeyIdentifier [0000: E3 81 66 00 7B C9 8F 3F 5A 77 E0 6D 5C EB 41 42 ..f....?Zw.m\.AB 0010: C7 48 5A 10 .HZ.]]#4: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=falseAuthorityInfoAccess [[accessMethod: 1.3.6.1.5.5.7.48.1]#5: ObjectId: 2.5.29.31 Criticality=falseCRLDistributionPoints [[DistributionPoint:[CN=crl1, OU=crl, O=BOCTest, C=CN]]]#6: ObjectId: 2.5.29.32 Criticality=falseCertificatePolicies [[CertificatePolicyId: [2.5.29.32.0][PolicyQualifierInfo: [qualifierID: 1.3.6.1.5.5.7.2.182.1190010: 2E 31 37 31 2E 31 30 36 2F 63 70 73 2E 68 74 6D .171.106/cps.htm ]] ]]#7: ObjectId: 2.16.840.1.113730.1.1 Criticality=false NetscapeCertType [SSL CAS/MIME CAObject Signing CA]#8: ObjectId: 2.5.29.35 Criticality=falseAuthorityKeyIdentifier [KeyIdentifier [0000: E3 81 66 00 7B C9 8F 3F 5A 77 E0 6D 5C EB 41 42 ..f....?Zw.m\.AB 0010: C7 48 5A 10 .HZ.]]Trust this certificate? [no]: yesCertificate was added to keystore[root@orange3c bin]#NOTE: (xp: %JAVA_HOME%/jre/lib/security/cacerts, linux: $JAVA_HOME/jre/lib/security/cacerts)验证是否已创建过同名的证书keytool -list -v -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts " -storepass changeit删除已创建的证书keytool -delete -alias tomcat -keystore "%%JAVA_HOME%/jre/lib/security/cacerts " -storepass changeitKeytool是⼀个Java数据证书的管理⼯具。
keytool使用
keytool使用管理由私钥和认证相关公钥的X.509 证书链组成的密钥仓库(数据库)。
还管理来自可信任实体的证书。
结构keytool [ 命令 ]说明keytool 是个密钥和证书管理工具。
它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。
它还允许用户储存他们的通信对等者的公钥(以证书形式)。
证书是来自一个实体(个人、公司等)的经数字签名的声明,它声明某些其它实体的公钥(及其它信息)具有某一的特定值(参见证书)。
当数据被数字化签名后,校验签名即可检查数据的完整性和真实性。
完整性的意思是数据没有被修改或损坏过,真实性的意思是数据的确是来自声称创建了该数据和对它进行了签名的实体。
keytool 将密钥和证书储存在一个所谓的密钥仓库中。
缺省的密钥仓库实现将密钥仓库实现为一个文件。
它用口令来保护私钥。
jarsigner 工具利用密钥仓库中的信息来产生或校验Java 存档(JAR) 文件的数字签名(JAR 文件将类文件、图象、声音和/或其它数字化数据打包在一个文件中)。
jarsigner 用JAR 文件所附带的证书(包含于 JAR 文件的签名块文件中)来校验 JAR 文件的数字签名,然后检查该证书的公钥是否“可信任”,即是否包括在指定的密钥仓库中。
请注意:keytool 和 jarsigner 工具完全取代了 JDK 1.1 中提供的javakey 工具。
这些新工具所提供的功能比 javakey 提供的多,包括能够用口令来保护密钥仓库和私钥,以及除了能够生成签名外还可以校验它们。
新的密钥仓库体系结构取代了javakey 所创建和管理的身份数据库。
可以利用 -identitydb keytool 命令将信息从身份数据库导入密钥仓库。
密钥仓库项在密钥仓库中有两种不同类型的项:密钥项- 每项存放极为敏感的加密密钥信息,这种信息以一种受保护的格式储存以防止未授权的访问。
keytool生成公私钥匙介绍
java 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 新密码-storepasskeystore密码-keystore sage∙-storepasswd修改keystore口令keytool -storepasswd -keystoreg:\sso\michael.keystore(需修改口令的keystore) -storepasspwdold(原始密码) -newpwdnew(新密码)∙-import 将已签名数字证书导入密钥库keytool -import -alias 指定导入条目的别名-keystore指定keystore -file 需导入的证书目录说明:1.生成证书2.查看证书3.证书导出4.附录资料一、生成证书按win键+R,弹出运行窗口,输入cmd回车,打开命令行窗户,输入如下命令:1 keytool -genkey -alias michaelkey -keyalg RSA -keysize 1024 -keypassmichaelpwd -validity 365 -keystore g:\sso\michael.keystore -storepass michaelpwd2截图如下:二、查看证书1 keytool -list -v -keystore g:\sso\michael.keystore -storepass michaelpwd2 回车看到的信息如下:-rfc命令如下:1 keytool -list -rfc -keystore g:\sso\michael.keystore -storepass michaelpwd2 回车看到的信息如下:1 keytool -export -alias michaelkey -keystore g:\sso\michael.keystore -file g:\sso\michael.crt -storepass michaelpwd2回车如下:查看导出的证书信息:1 keytool -printcert -file g:\sso\michael.crt 回车看到信息如下:四:附录官方有关keytool命令的介绍文档:∙jdk1.4.2 :/javase/1.4.2/docs/tooldocs/windows/keytool.html ∙jdk1.6 :/javase/6/docs/technotes/tools/windows/keytool.html∙jdk1.7 :/javase/7/docs/technotes/tools/windows/keytool.htmls。
JDK自带工具keytool生成ssl证书
JDK自带工具keytool生成ssl证书前言:因为公司项目客户要求使用HTTPS的方式来保证数据的安全,所以木有办法研究了下怎么生成ssl证书来使用https以保证数据安全。
百度了不少资料,看到JAVA的JDK自带生成SSL证书的工具:keytool,外加看了同事的心得体会,自己总结了一下具体的使用方法和使用过程中发现的问题及解决办法。
1:什么是HTTPS?HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块,并且会进行身份的验证。
问题:Firebug和postman之类的浏览器调试工具,为什么获取到的是明文?解答:SSL是对传输的数据进行加密,针对的是传输过程的安全。
firebug之类的浏览器调试工具,因为他们得到的是客户端加密之前/解密之后的数据,因此是明文的。
2:什么是自签名证书?就是自己生成的证书,并不是官方生成的证书。
除非是很正式的项目,否则使用自己签发的证书即可,因为官方生成证书是要花钱滴。
3:进入正题,使用JDK自带工具KeyTool 生成自签发证书!第一步:为服务器生成证书打开CMD命令行工具,cd到C盘根目录或者是jdk的bin目录下,如下图所示:附录1:常用keytool命令使用keytool命令生成证书:keytool-genkey-alias tomcat(别名)-keypass 123456(别名密码)-keyalg RSA(算法)-keysize 1024(密钥长度)-validity 365(有效期,天单位)-keystore D:/keys/tomcat.keystore(指定生成证书的位置和证书名称)-storepass 123456(获取keystore信息的密码)方便复制版:keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365-keystore D:/keys/tomcat.keystore -storepass 123456图例:回车执行后如下图:点击回车即可在D:/keys/文件夹内生成名为:tomcat.keystore的文件。
keytool密匙和证书管理工具
keytool - 密鑰和証書管理工具管理由私鑰和認証相關公鑰的 X.509 証書鏈組成的密鑰倉庫(資料庫)。
還管理來自可信任實體的証書。
結構keytool [ 命令 ]說明keytool是個密鑰和証書管理工具。
它使用戶能夠管理自己的公鑰/私鑰對及相關証書,用於(通過數字簽名)自我認証(用戶向別的用戶/服務認証自己)或數據完整性以及認証服務。
它還允許用戶儲存他們的通信對等者的公鑰(以証書形式)。
証書是來自一個實體(個人、公司等)的經數字簽名的聲明,它聲明某些其它實體的公鑰(及其它資訊)具有某一的特定值(參見証書)。
當數據被數字化簽名後,校驗簽名即可檢查數據的完整性和真實性。
完整性的意思是數據沒有被修改或損壞過,真實性的意思是數據的確是來自聲稱創建了該數據和對它進行了簽名的實體。
keytool將密鑰和証書儲存在一個所謂的密鑰倉庫中。
預設的密鑰倉庫實現將密鑰倉庫實現為一個文件。
它用密碼來保護私鑰。
jarsigner工具利用密鑰倉庫中的資訊來產生或校驗 Java 存檔 (JAR) 文件的數字簽名(JAR 文件將類文件、圖像、聲音和/或其它數字化數據打包在一個文件中)。
jarsigner用 JAR 文件所附帶的証書(包含於 JAR 文件的簽名塊文件中)來校驗 JAR 文件的數字簽名,然後檢查該証書的公鑰是否“可信任”,即是否包括在指定的密鑰倉庫中。
請注意:keytool和jarsigner工具完全取代了 JDK 1.1 中提供的javakey 工具。
這些新工具所提供的功能比javakey提供的多,包括能夠用密碼來保護密鑰倉庫和私鑰,以及除了能夠產生簽名外還可以校驗它們。
新的密鑰倉庫體系結構取代了javakey所創建和管理的身份資料庫。
可以利用 -identitydb keytool命令將資訊從身份資料庫導入密鑰倉庫。
密鑰倉庫項在密鑰倉庫中有兩種不同型態的項:1.密鑰項 - 每項存放極為敏感的加密密鑰資訊,這種資訊以一種受保護的格式儲存以防止未授權的訪問。
keytool用法
Keytool是Java平台的一个工具,用于管理密钥库和证书。
以下是Keytool的一些常见用法:1. 生成密钥对:使用“-genkeypair”选项可以生成一对非对称密钥,包括公钥和私钥。
例如:```bashkeytool -genkeypair -alias myalias -keyalg RSA -keysize 2048 -validity 365 -keystore mykeystore.jks```上述命令将生成一个2048位的RSA密钥对,并将其存储在名为“mykeystore.jks”的密钥库中。
该命令还指定了别名为“myalias”,密钥库的有效期为365天。
2. 导入证书:使用“-import”选项可以将证书导入到密钥库中。
例如:```bashkeytool -import -alias myalias -file mycertificate.crt -keystore mykeystore.jks```上述命令将名为“mycertificate.crt”的证书导入到名为“mykeystore.jks”的密钥库中,并将别名为“myalias”。
3. 导出证书:使用“-export”选项可以将密钥库中的证书导出为文件。
例如:```bashkeytool -export -alias myalias -file mycertificate.crt -keystore mykeystore.jks```上述命令将名为“mykeystore.jks”的密钥库中的名为“myalias”的证书导出为名为“mycertificate.crt”的文件。
4. 删除密钥库中的条目:使用“-delete”选项可以删除密钥库中的条目。
例如:```bashkeytool -delete -alias myalias -keystore mykeystore.jks```上述命令将删除名为“mykeystore.jks”的密钥库中名为“myalias”的条目。
Java使用keytool创建CA证书的操作
Java使⽤keytool创建CA证书的操作keytool是⼀个密钥和证书管理⼯具1.keytool⼯具位置keytool⼯具在 JDK 的安装⽬录的 bin ⽬录下⾯2.keytool⼯具命令展⽰打开命令⾏进⼊ bin ⽬录,然后输⼊命令 keytool.exe,就能看见keytool⼯具⽀持哪些命令,如下图所⽰:注意下⾯的⽤法提⽰:使⽤ “keytool -command_name -help” 获取 command_name 的⽤法3.查看具体命令⽤法这⾥我们使⽤ -genkeypair 命令来创建密钥库,先来看看 genkeypair 命令的⽤法,如下图所⽰:4.新建密钥库.\keytool.exe -genkeypair -alias CA -keyalg RSA -validity 30 -keystore D:\keytoolCert\.CAkeystore4.1.参数说明-alias CA: alias表⽰别名的意思,这⾥别名为 CA,如果不写的话,它的默认值为 mykey-keyalg RSA:密钥算法名称,这⾥使⽤RSA算法-validity 30:有效天数为30天-keystore D:\keytoolCert.CAkeystore:指定密钥库存放的位置。
命令输⼊过后会让我们输⼊密码、唯⼀判别名(dname)和密钥⼝令注意密钥库的密码⾄少必须6个字符,可以是纯数字或者字母或者数字和字母的组合等等名字与姓⽒"应该是输⼊域名,⽽不是我们的个⼈姓名,其他的可以不填这条命令的完整含义是:使⽤ keytool.exe ,创建⼀个别名为 CA,算法为 RSA,有效天数为30天的密钥,并将它存放在 D:\keytoolCert\ ⽬录下的⼀个名叫 .CAkeystore 的密钥库中,如果密钥库不存在则⾃动创建。
执⾏完上述命令后,在 D:\keytoolCert\ ⽬录下⽣成了⼀个".CAkeystore"的⽂件,如下图所⽰:5.查看密钥库⾥⾯的信息命令如下:.\keytool.exe -list -keystore D:\keytoolCert\.CAkeystore -v结果如下:5.1.查看密钥库信息其他命令查看密钥库中指定密钥的信息:keytool.exe -list -alias CA -keystore“D:\keytoolCert.CAkeystore” -v6.导出密钥到证书⽂件.\keytool -export -alias CA -file D:\keytoolCert\pendIssueCert_1.cer -keystore D:\keytoolCert\.CAkeystore执⾏完上述命令后,在 D:\keytoolCert\ ⽬录下⽣成了⼀个"pendIssueCert_1.cer"的证书⽂件,如下图所⽰:7.查看指定证书⽂件的信息:keytool.exe -printcert -file D:\keytoolCert\.pendIssueCert_1.cer -v8.导⼊证书将证书⽂件 pendIssueCert_1.cer 导⼊到名为 .pendIssuekeystore 的证书库中keytool -import -keystore D:\keytoolCert\.pendIssuekeystore -file D:\keytoolCert\pendIssueCert_1.cer注意:D:\keytoolCert.pendIssuekeystore 密钥库不存在会⾃动创建导⼊时没有输⼊ -alias 那么它的别名就是 mykey ,如果有需要可以⾃⼰指定别名9.删除密钥库中的条⽬删除密钥库 .pendIssuekeystore 中别名为 mykey 的证书条⽬keytool -delete -keystore D:\keytoolCert\.pendIssuekeystore -alias mykey删除前先查看有⼀个密钥,删除后再查看就没有了,表⽰删除成功。
keytool参数
keytool参数keytool是Java开发工具包(JDK)中的一个命令行工具,用于管理Java密钥库(Java KeyStore)和证书。
它提供了一种简单的方式来生成、导入、导出和管理密钥对、证书和证书链,以及对密钥库的操作。
在本文中,我们将介绍一些常用的keytool参数及其用法。
1. -genkeypair参数:使用-genkeypair参数可以生成一个新的密钥对,并将其存储在一个新的密钥库中。
这个参数通常与-alias、-keyalg、-keysize、-validity和-keypass等参数一起使用。
例如,下面的命令将生成一个RSA密钥对,存储在名为mykeystore.jks 的密钥库中:keytool -genkeypair -alias myalias -keyalg RSA -keysize 2048 -validity 365 -keystore mykeystore.jks -keypass mypassword2. -import参数:使用-import参数可以将一个证书或证书链导入到一个密钥库中。
这个参数通常与-alias、-file和-keystore等参数一起使用。
例如,下面的命令将导入一个名为mycert.cer的证书文件到名为mykeystore.jks的密钥库中:keytool -import -alias myalias -file mycert.cer -keystore mykeystore.jks3. -export参数:使用-export参数可以将一个证书从一个密钥库中导出到一个文件中。
这个参数通常与-alias、-file和-keystore等参数一起使用。
例如,下面的命令将从名为mykeystore.jks的密钥库中导出一个名为mycert.cer的证书文件:keytool -export -alias myalias -file mycert.cer -keystore mykeystore.jks4. -list参数:使用-list参数可以列出一个密钥库中的所有条目,包括密钥对、证书和证书链。
keytools使用
java keytool证书工具使用小结作者: Michael日期: 2012 年 5 月 10 日发表评论 (2)查看评论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) -storepasspwdold(原始密码) -new pwdnew(新密码)-import 将已签名数字证书导入密钥库 keytool -import -alias 指定导入条目的别名 -keystore 指定keystore -file 需导入的证书目录说明:1. 生成证书2. 查看证书3. 证书导出4. 附录资料一、生成证书按win 键+R ,弹出运行窗口,输入 cmd 回车,打开命令行窗户,输入如下命令:1 keytool -genkey -alias michaelkey -keyalg RSA -keysize 1024 -keypass michaelpwd -validity 365 -keystore g:\sso\michael.keystore -storepass michaelpwd2截图如下:二、查看证书缺省情况下,-list 命令打印证书的 MD5 指纹。
Keytool工具使用
Keytool工具使用一、生成证书按win键+R,弹出运行窗口,输入cmd回车,打开命令行窗户,输入如下命令:keytool -genkeypair -alias "test1" -keyalg "RSA" -keystore "test.keystore"功能:创建一个别名为test1的证书条目,该条目存放在名为test.keystore的密钥库中,若test.keystore密钥库不存在则创建。
参数说明:-genkeypair:生成一对非对称密钥;-alias:指定密钥对的别名,该别名是公开的;-keyalg:指定加密算法,本例中的采用通用的RAS加密算法;-keystore:密钥库的路径及名称,不指定的话,默认在操作系统的用户目录下(C:\Users\thinkpad)生成一个".keystore"的文件注意:1.在命令行中输入“keytool –genkey”将自动使用默认的算法生成公钥和私钥,这里并未指定使用何算法,将使用默认的DSA算法。
2.由于“.keystore”中包含了私钥,所以是一个需要保密的文件,因此上述操作提示为该文件设置一个密码:“输入密钥库口令”,这里第一次使用该密钥库,因此输入的密码“123456”将成为该默认的密钥库的密码(实际使用时应该设置复杂的口令)。
以后再使用这个密钥库时必须提供这个口令才可以使用。
3.以上操作最后还提示“输入<test1>的主密码”,这里“test1”是默认的别名,使用该名字可以在密钥库“.keystore”中找到对应的公钥、私钥和证书。
此处输入的密码是对应于该别名的私钥的密码,密钥库中每个别名可以使用不同的密码加以保护。
4.密钥库中可以存放多个条目(公钥/私钥对和证书),它们在密钥库中以别名(alias)区分。
在使用keytool工具时没有指定别名,因此系统使用了默认的别名mykey。
keytool参数
keytool参数1. 简介keytool是Java开发工具包(JDK)中的一个命令行工具,用于管理Java密钥库(JKS)和证书。
它提供了创建、导入、导出和管理密钥库和证书的功能。
keytool 可以用于生成自签名证书、生成密钥对、导入和导出证书以及查看证书信息等操作。
本文将详细介绍keytool的各种参数及其用法。
2. 生成密钥对使用keytool生成密钥对是创建和管理证书的基础。
以下是keytool生成密钥对的常用参数:2.1 -genkeypair使用-genkeypair参数可以生成密钥对,并将其存储在密钥库中。
生成密钥对时,keytool会要求输入一些信息,如密钥库密码、密钥密码、姓名、组织单位等。
以下是使用-genkeypair参数生成密钥对的示例命令:keytool -genkeypair -alias mykey -keyalg RSA -keystore mykeystore.jks2.2 -keyalg-keyalg参数用于指定密钥的算法。
常见的算法有RSA、DSA和EC等。
以下是使用-keyalg参数指定RSA算法生成密钥对的示例命令:keytool -genkeypair -alias mykey -keyalg RSA -keystore mykeystore.jks2.3 -keysize-keysize参数用于指定密钥的长度。
密钥长度越长,安全性越高,但生成和使用密钥的速度也会变慢。
以下是使用-keysize参数指定密钥长度为2048位生成密钥对的示例命令:keytool -genkeypair -alias mykey -keyalg RSA -keysize 2048 -keystore mykeystor e.jks2.4 -dname-dname参数用于指定证书的拥有者信息。
拥有者信息包括姓名、组织单位、组织名称、城市、省份、国家等。
以下是使用-dname参数指定拥有者信息生成密钥对的示例命令:keytool -genkeypair -alias mykey -keyalg RSA -dname "CN=John Doe, OU=Developme nt, O=Company, L=City, ST=State, C=Country" -keystore mykeystore.jks3. 导入和导出证书keytool可以导入和导出证书,使得我们可以在不同的系统或应用之间共享证书。
使用keytool生成证书
使⽤keytool⽣成证书keytool 简介keytool 是java ⽤于管理密钥和证书的⼯具,其功能包括:创建并管理密钥创建并管理证书作为CA 为证书授权导⼊导出证书主要格式keytool 采⽤ keystore ⽂件来存储密钥及证书,其中可包括私钥、信任证书;keystore ⽂件主要使⽤ JKS格式(也可⽀持其他格式),带密钥存储;其中私钥的存储也有独⽴的密码;⼀、⽣成私钥和证书keytool -genkeypair -alias serverkey -keystore server.keystore按提⽰输⼊keystore 存储密码、私钥密码、个⼈信息,之后会⽣成 server.keystore⽂件若不想输⼊参数,可提供参数:keytool -genkeypair -alias serverkey -keypass 111111 -storepass 111111 \-dname "C=CN,ST=GD,L=SZ,O=vihoo,OU=dev,CN=" \-keyalg RSA -keysize 2048 -validity 3650 -keystore server.keystore参数说明storepass keystore ⽂件存储密码keypass 私钥加解密密码alias 实体别名(包括证书私钥)dname 证书个⼈信息keyalt 采⽤公钥算法,默认是DSAkeysize 密钥长度(DSA算法对应的默认算法是sha1withDSA,不⽀持2048长度,此时需指定RSA) validity 有效期keystore 指定keystore⽂件⼆、查看keystore详情查看详情命令keytool -list -keystore -storepass 111111 server.keystore输出结果Keystore type: JKSKeystore provider: SUNYour keystore contains 1 entryserverkey, Sep 25, 2016, PrivateKeyEntry,Certificate fingerprint (SHA1): 65:75:C9:08:A0:83:21:A1:D7:8D:DA:CD:3D:FB:C2:E0:50:96:29:62加上-v选项可查看更详细信息Keystore type: JKSKeystore provider: SUNYour keystore contains 1 entryAlias name: serverkeyCreation date: Jul 22, 2017Entry type: PrivateKeyEntryCertificate chain length: 1Certificate[1]:Owner: C=CN, ST=GD, L=SZ, O=vihoo, OU=dev, CN=Issuer: C=CN, ST=GD, L=SZ, O=vihoo, OU=dev, CN=Serial number: 5c5eb42Valid from: Sat Jul 2210:45:45 CST 2017until: Tue Jul 2010:45:45 CST 2027Certificate fingerprints:MD5: 27:ED:70:EF:4C:E3:7F:ED:6A:83:67:32:6D:10:24:38SHA1: 79:08:97:6E:62:EE:0F:E6:81:56:66:43:9C:9D:A4:11:EF:CC:28:0CSHA256: 3B:AC:56:8E:60:C2:C8:07:61:19:C7:4A:D3:AF:1F:60:77:24:94:7C:87:6E:C8:E7:17:14:E4:7A:34:0A:CD:8FSignature algorithm name: SHA256withRSAVersion: 3Extensions:#1: ObjectId: 2.5.29.14 Criticality=falseSubjectKeyIdentifier [KeyIdentifier [0000: B4 10 A9 26 5D 6C 4C 46 B4 69 ED 31 2B 20 D1 F4 ...&]lLF.i.1+ ..0010: 58 3C 8F 94 X<..]]三、证书导⼊导出导出证书keytool -exportcert -keystore server.keystore -file server.cer -alias serverkey -storepass 111111参数说明exportcert 表⽰导出证书alias 指⽰别名file 指⽰导出⽂件storepass 指⽰keystore密钥此时导出的证书为DER编码格式,使⽤openssl 可以输出openssl x509 -in server.cer -inform der -noout -text加上 -rfc选项,可输出PEM编码格式的证书keytool -exportcert -keystore server.keystore -rfc -file server.cer -alias serverkey -storepass 111111输出格式如:-----BEGIN CERTIFICATE-----MIIDUTCCAjmgAwIBAgIEBcXrQjANBgkqhkiG9w0BAQsFADBZMRIwEAYDVQQDEwl2...-----END CERTIFICATE-----导⼊证书⼀般为导⼊信任证书(SSL客户端使⽤)keytool -importcert -keystore client_trust.keystore -file server.cer -alias client_trust_server -storepass 111111 -noprompt 参数说明importcert 表⽰导⼊信任证书file 指⽰导⼊证书,⽀持pem/der格式keystore 指⽰⽬标keystore⽂件storepass 指⽰新的keystore密钥alias 指⽰trust证书在keystore中的别名noprompt 指⽰不弹出提⽰导⼊后的证书为 trustedCertEntry 实体类型,⽽私钥证书为 PrivateKeyEntry四、查看证书打印证书keytool -printcert -file server.cer输出Owner: CN=ZZ, OU=DEV, O=, L=GZ, ST=GD, C=CNIssuer: CN=ZZ, OU=DEV, O=, L=GZ, ST=GD, C=CNSerial number: 797f3140Valid from: Sun Sep 2516:43:55 CST 2016until: Sat Dec 2416:43:55 CST 2016Certificate fingerprints:MD5: FB:7D:29:4C:A9:F3:07:0E:CC:74:0D:9B:D4:D6:4D:91SHA1: 65:75:C9:08:A0:83:21:A1:D7:8D:DA:CD:3D:FB:C2:E0:50:96:29:62SHA256: E9:8B:A5:43:5F:40:FA:C5:64:3B:0A:11:1D:BE:D1:07:3C:A1:E2:50:88:71:A7:5C:EC:43:22:98:1B:AA:B6:EB Signature algorithm name: SHA1withDSAVersion: 3Extensions:#1: ObjectId: 2.5.29.14 Criticality=falseSubjectKeyIdentifier [KeyIdentifier [0000: 0E C3 62 D3 75 3A 3C B7 D9 C4 BD 8E 63 E7 6C EC ..b.u:<.....c.l.0010: AF 8A 2972 ..)r]]五、转换格式jks格式转 pkcs12keytool -importkeystore -srckeystore server.keystore -destkeystore server.p12 -srcalias serverkey -destalias serverkey \-srcstoretype jks -deststoretype pkcs12 -srcstorepass 111111 -deststorepass 111111 -noprompt参数说明importkeystore 指⽰导⼊导出keystore⽂件,可⽤于同类型或不同类型的导⼊导出srckeystore 指⽰源keystore⽂件srcalias 指⽰源实体别名srcstoretype 指⽰源store类型(jks/pkcs12..)srcstorepass 指⽰源store密码noprompt 不弹出提⽰pkcs12 转jks格式与此同理六、场景⽰例1. 制作Java SSL 双向证书storepass=111111keypass=111111server_dname="C=CN,ST=GD,L=SZ,O=vihoo,OU=dev,CN="client_dname="C=CN,ST=GD,L=SZ,O=vihoo,OU=dev,CN="echo"generate server keystore"keytool -genkeypair -alias serverkey -keypass $keypass -storepass $storepass \-dname $server_dname \-keyalg RSA -keysize 2048 -validity 3650 -keystore server.keystoreecho"generate client keystore"keytool -genkeypair -alias clientkey -keypass $keypass -storepass $storepass \-dname $client_dname \-keyalg RSA -keysize 2048 -validity 3650 -keystore client.keystoreecho"export server certificate"keytool -exportcert -keystore server.keystore -file server.cer -alias serverkey -storepass $storepassecho"export client certificate"keytool -exportcert -keystore client.keystore -file client.cer -alias clientkey -storepass $storepassecho"add server cert to client trust keystore"keytool -importcert -keystore client_trust.keystore -file server.cer -alias client_trust_server \-storepass $storepass -nopromptecho"add client cert to server trust keystore"keytool -importcert -keystore server_trust.keystore -file client.cer -alias server_trust_client \-storepass $storepass -noprompt2. Java 证书与 nginx 证书互转Java通常使⽤JKS作为证书存储格式,⽽Nginx往往采⽤PEM证书格式,如何实现互转?Nginx 证书转 JKSA pem证书和私钥合成p12openssl pkcs12 -export -in server.crt -inkey server.key -passin pass:111111 -password pass:111111 \-name server -out server.p12注意定义-name 选项,这将作为keystore识别实体的参数B p12 证书转jks 证书keytool -importkeystore -srckeystore server.p12 -destkeystore server.keystore \-srcstoretype pkcs12 -deststoretype jks -srcalias server -destalias server \-deststorepass 111111 -srcstorepass 111111如果p12 ⽂件中未指定实体名称,使⽤keytool转换时则不需提供srcalias/destalias参数,⽽输出的keystore实体名称默认为1 JKS 证书转 Nginx证书A jks 证书转p12keytool -importkeystore -srckeystore server.keystore -destkeystore server.p12 \-srcstoretype jks -deststoretype pkcs12 -srcalias server -destalias server \-deststorepass 111111 -srcstorepass 111111B p12 证书提取pem证书和私钥openssl pkcs12 -in server.p12 -clcerts -nokeys -password pass:111111 -out server.crtopenssl pkcs12 -in server.p12 -nocerts -password pass:111111 -passout pass:111111 -out server.key 其中得到的私钥⽂件为PKCS#8 加密格式,证书和密钥均为PEM⽂件编码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-export 将别名指定的证书导出到文件 keytool -export -alias 别名 -file 文件名.crt
-file 参数指定导出到文件的文件名
-delete 删除密钥库中某条目 keytool -delete -alias 别名 -keystore sage
-keysize 指定密钥长度
-storepass 指定密钥库的密码
-keypass 指定别名条目的密码
-dname 指定证书拥有者信息例如: "CN=firstName,OU=org,O=bj,L=bj,ST=gd,C=cn"
-list 显示密钥库中的证书信息 keytool -list -v -keystore 别名 -storepass ....
注意:以下只使用了常用选项,更多选项请查阅keytool帮助
1.生成证书
keytool -genkey(非对称加密) -alias User(keystore的别名) -keyalg RSA(指定算法) -validity 7(有效时间) -keystore keystore(指定keystore文件)
更多:
-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
-alias 产生别
-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中
-keyalg 指定密钥的算法
-validity 指定创建的证书有效期多少天
2.导入证书
keytool -import -alias dukecert -file testkey(源文件) -keystore truststore(目的地)
3.导出证书(从keystore导出,到-file指定的文件中)
keytool -export -alias duke -keystore keystore -rfc -file testkey
-keypasswd 修改密钥库中指定条目口令 keytool -keypasswd -alias 别名 -keypass .... -new .... -storepass ... -keystore 别名
-import 将已签名数字证书导入密钥库 keytool -import -alias 别名 -keystore 证书名-file 文件名(可以加.crt 后缀)