keytool工具应用实例详解

合集下载

使用KeytoolGUI生成Keystore

使用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即成功生成。

一般来说,在根证书中只需导入顶级根证即可。

客户端浏览器中只要安装了相应的二级根证,二级根证所颁发的证书即可获得信任,出现在证书选择框中。

keytool -import -keystore 使用方法

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。

通过keytool生成证书,并提取公钥和私钥

通过keytool生成证书,并提取公钥和私钥

通过keytool⽣成证书,并提取公钥和私钥1、⽣成证书keytool -genkeypair -alias abc -keyalg RSA -keypass abc -keystore abc.jks -storepass abc -validity 3650keytool -genkeypair -alias home -storetype PKCS12 -keyalg RSA -keystore home.pkcs12 -storepass 139******** -validity 3650 -keysize 2048keytool命令keytool密钥和证书管理⼯具命令:-certreq ⽣成证书请求-changealias 更改条⽬的别名-delete 删除条⽬-exportcert 导出证书-genkeypair ⽣成密钥对-genseckey ⽣成密钥-gencert 根据证书请求⽣成证书-importcert 导⼊证书或证书链-importpass 导⼊⼝令-importkeystore 从其他密钥库导⼊⼀个或所有条⽬-keypasswd 更改条⽬的密钥⼝令-list 列出密钥库中的条⽬-printcert 打印证书内容-printcertreq 打印证书请求的内容-printcrl 打印 CRL ⽂件的内容-storepasswd 更改密钥库的存储⼝令使⽤ "keytool -command_name -help" 获取 command_name 的⽤法keytool -genkeypair [OPTION]...⽣成密钥对选项:-alias <alias> 要处理的条⽬的别名-keyalg <keyalg> 密钥算法名称-keysize <keysize> 密钥位⼤⼩-sigalg <sigalg> 签名算法名称-destalias <destalias> ⽬标别名-dname <dname> 唯⼀判别名-startdate <startdate> 证书有效期开始⽇期/时间-ext <value> X.509 扩展-validity <valDays> 有效天数-keypass <arg> 密钥⼝令-keystore <keystore> 密钥库名称-storepass <arg> 密钥库⼝令-storetype <storetype> 密钥库类型-providername <providername> 提供⽅名称-providerclass <providerclass> 提供⽅类名-providerarg <arg> 提供⽅参数-providerpath <pathlist> 提供⽅类路径-v 详细输出-protected 通过受保护的机制的⼝令使⽤ "keytool -help" 获取所有可⽤命令2、提取公钥2.1 ⽤keytool只能提取cert格式的公钥keytool -list -rfc -keystore abc.jks -storepass abc显⽰如下:密钥库类型: jks密钥库提供⽅: SUN您的密钥库包含 1 个条⽬别名: abc创建⽇期: 2019-5-18条⽬类型: PrivateKeyEntry证书链长度: 1证书[1]:-----BEGIN CERTIFICATE-----MIIDXzCCAkegAwIBAgIEQkT0ojANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJjbjELMAkGA1UECBMCZ2QxCzAJBgNVBAcTAnN6MREwDwYDVQQKEwhjaGFuZ2dvdTERMA8GA1UECxMIY2hhbmdnb3UxETAPBgNVBAMTCGNoYW5nZ291MB4XDTE5MDUxNzIwMDMyNFoXDTE5MDgxNTIwMDMyNFowYDELMAkGA1UEBhMCY24xCzAJBgNVBAgTAmdkMQswCQYDVQQHEwJzejERMA8GA1UEChMIY2hhbmdnb3UxETAPBgNVBAsTCGNoYW5nZ291MREwDwYDVQQDEwhjaGFuZ2dvdTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALxbBImi74o/QtTM/qMgJreO8IQGkZEbv/JHjzPl/O+tFBlNETMBrYumfcty0NEbyuiNG615mxgf0bDd/D1Z4XD/GX8RlB9upF9ESvrZa8XKxvh5D2Dh+FzwC/ENZbtZ/cd7S3CD8avGWbbiMimBJqCysjLL074huX5U6Q6a09ubp1oBOJndZLYUVlzp31hwE1WO2P6+KG4ji9ZkuWxGv4jSqLUDZ7yACrYwTOEZSA1jGunZs/pR7S7agw9ixdasKIkiByO+S0GfwjWGhwn2UsbTsnaTSqvHm9fzxoizaJQ+C2ts39P9XZXK+ZpHrFee9DcUZlNbRZvGXdzGZWZsr/UCAwEAAaMhMB8wHQYDVR0OBBYEFDlS24hM6d3CpJUW4QNA91iPVq+TMA0GCSqGSIb3DQEBCwUAA4IBAQByLqfGerXnoxT4roBo8/PY7+Ir1lQfpQWSYWIDcY7+ek5c7AGqGOk5dVG4GxdgsCdCmNM9VlcS7r2jlmD1tO4g2MABbYWKkaVunSdYm73KhF4ktz+QPrBnUKisZnE6wciPl+MBe6J61uJR47SxGd/bbqwr7JjfpvepAux3NVNaL6YN8K4M4Zwapu+GTiwNyoBXk6bTPp4fdgWKpW6Xi+DX64vC0WVqiQSRMSIZ+1RzPBRjaOXQklJuFbYIbnez9eVd1I264ziUIUvBQfE8bqZrk/bvyt5lPnmpZJBthiEe/C3mMmsLwsUTN7jsIldtJaZ1lffmqar3bqxTxRdcw60x-----END CERTIFICATE-----通过通道符号把cert格式转成public key格式keytool -list -rfc --keystore wood.jks | openssl x509 -inform pem -pubkey输出显⽰:-----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvFsEiaLvij9C1Mz+oyAmt47whAaRkRu/8kePM+X8760UGU0RMwGti6Z9y3LQ0RvK6I0brXmbGB/RsN38PVnhcP8ZfxGUH26kX0RK+tlrxcrG+HkPYOH4XPAL8Q1lu1n9x3tLcIPxq8ZZtuIyKYEmoLKyMsvTviG5flTpDprT25unWgE4md1kthRWXOnfWHATVY7Y/r4obiOL1mS5bEa/iNKotQNnvIAKtjBM4RlIDWMa6dmz+lHtLtqDD2LF1qwoiSIHI75LQZ/CNYaHCfZSxtOydpNKq8eb1/PGiLNolD4La2zf0/1dlcr5mkesV570NxRmU1tFm8Zd3MZlZmyv9QIDAQAB-----END PUBLIC KEY----------BEGIN CERTIFICATE-----MIIDXzCCAkegAwIBAgIEQkT0ojANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJjbjELMAkGA1UECBMCZ2QxCzAJBgNVBAcTAnN6MREwDwYDVQQKEwhjaGFuZ2dvdTERMA8GA1UECxMIY2hhbmdnb3UxETAPBgNVBAMTCGNoYW5nZ291MB4XDTE5MDUxNzIwMDMyNFoXDTE5MDgxNTIwMDMyNFowYDELMAkGA1UEBhMCY24xCzAJBgNVBAgTAmdkMQswCQYDVQQHEwJzejERMA8GA1UEChMIY2hhbmdnb3UxETAPBgNVBAsTCGNoYW5nZ291MREwDwYDVQQDEwhjaGFuZ2dvdTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALxbBImi74o/QtTM/qMgJreO8IQGkZEbv/JHjzPl/O+tFBlNETMBrYumfcty0NEbyuiNG615mxgf0bDd/D1Z4XD/GX8RlB9upF9ESvrZa8XKxvh5D2Dh+FzwC/ENZbtZ/cd7S3CD8avGWbbiMimBJqCysjLL074huX5U6Q6a09ubp1oBOJndZLYUVlzp31hwE1WO2P6+KG4ji9ZkuWxGv4jSqLUDZ7yACrYwTOEZSA1jGunZs/pR7S7agw9ixdasKIkiByO+S0GfwjWGhwn2UsbTsnaTSqvHm9fzxoizaJQ+C2ts39P9XZXK+ZpHrFee9DcUZlNbRZvGXdzGZWZsr/UCAwEAAaMhMB8wHQYDVR0OBBYEFDlS24hM6d3CpJUW4QNA91iPVq+TMA0GCSqGSIb3DQEBCwUAA4IBAQByLqfGerXnoxT4roBo8/PY7+Ir1lQfpQWSYWIDcY7+ek5c7AGqGOk5dVG4GxdgsCdCmNM9VlcS7r2jlmD1tO4g2MABbYWKkaVunSdYm73KhF4ktz+QPrBnUKisZnE6wciPl+MBe6J61uJR47SxGd/bbqwr7JjfpvepAux3NVNaL6YN8K4M4Zwapu+GTiwNyoBXk6bTPp4fdgWKpW6Xi+DX64vC0WVqiQSRMSIZ+1RzPBRjaOXQklJuFbYIbnez9eVd1I264ziUIUvBQfE8bqZrk/bvyt5lPnmpZJBthiEe/C3mMmsLwsUTN7jsIldtJaZ1lffmqar3bqxTxRdcw60x-----END CERTIFICATE-----3、提取私钥3.1 需要把证书先转成pfx格式keytool -v -importkeystore -srckeystore abc.jks -srcstoretype jks -srcstorepass abc -destkeystore abc.pfx -deststoretype pkcs12 -deststorepass abc -destkeypass abc 3.2 提取私钥显⽰在屏幕上openssl pkcs12 -in abc.pfx -nocerts -nodes输出到⽂件openssl pkcs12 -in abc.pfx -nocerts -nodes -out abc.key显⽰:-----BEGIN PRIVATE KEY-----MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC8WwSJou+KP0LUzP6jICa3jvCEBpGRG7/yR48z5fzvrRQZTREzAa2Lpn3LctDRG8rojRuteZsYH9Gw3fw9WeFw/xl/EZQfbqRfREr62WvFysb4eQ9g4fhc8AvxDWW7Wf3He0twg/Grxlm24jIpgSagsrIyy9O+Ibl+VOkOmtPbm6daATiZ3WS2FFZc6d9YcBNVjtj+vihuI4vW ZLlsRr+I0qi1A2e8gAq2MEzhGUgNYxrp2bP6Ue0u2oMPYsXWrCiJIgcjvktBn8I1hocJ9lLG07J2k0qrx5vX88aIs2iUPgtrbN/T/V2VyvmaR6xXnvQ3FGZTW0Wbxl3c xmVmbK/1AgMBAAECggEAUsH+9WZ0rx5qg8tqGkxXFpGkVa35KXOy24XbgqcLglde nFtDMlELam+Fl+1jmG0IszLEtWzX2zqnzHlMibxDFH3ROwaDOWhIql78Pslm0+nr kGLIgf3nPRZveMM1LqM0oQAoPlCKz7l/054BAkFvsm2xZCYwa7qvoLU4DSWz7int xpjJcgS+dxXUbSm8o8vPnT/cdg8HGPmMj+z4+evR1058M93m/VZ4vrHZsQiCnfb0tU0FDGQwCeSdDhgbVsEZ0HkNrNQwVZ6UpJSwlY14a2wMdp4ITM7db0t29H+flrne sjHK1/Cprz5BwIimJv2uQkkBCnyjrWi4JX0REM/lAQKBgQDiwQbpRDgkssJFjps3 ycCpYcCCKINd6DRHREnc7semepcZq0Q2hWqh9Ba031NapWFla2y7bi2G4XcIgC+uU23bVaALjxjnuPgg9Jb6lROhhxHmQayG2cSdpSNvdEppKkNfMnteTlBu7a8xpayq YHoScSbjxquB5Du9++aV8diWwQKBgQDUpiX8+/UHSyTMxr+5i/8M/A1W4cqwtJFu9wiDJrW7UFI71FLEDCOEgPaf0FKhZdLMC+2fCO9h1Gbbie9cVbGa/MVBXNnU/sYa nZIymUzctx/r9RTc0BJ1zNCWPNj7FxJjf4Uqs1mdTRkB3p/x1RzsOoYBMHybhdu1j3HknZ36NQKBgDHiqXSUL43TTe4ji35ggmRBPyrjYtM8DJRJL77NQVscyTU6eo1M GMN8gapVH29nxt+bHJa3jIiJ/bf/C35cmGSSl90zJBWGmgAWD0kdlu4IWyW++QfJ zPmppPwWJ3CvfZbp8j4zGHrvC4Xunuf0xaZdAmNGB+FRptsLGhWO2UmBAoGAO8zV lgVM7NYm7SdfN1C1UvN21N3+YB8HXws9a5RxOtHlrkmRVOyM+HBD6sFs21KFKziX hEfA+eP/YPGzTGYU4h7/Ydg4sftLvqRdPrl5sgAVjAeJ7GbfKh2E8xr9ce8VDsIHsvBo3SGXTL1MgXeLAKucj60Q/bNxC+fhAYeJq5kCgYEAlhguSbZeJ8jGVzZpl1FI2B5OMSgs45IUoOKtXYSFKC4JuVZiZ+LCEqsGnnakSi2bWSLjx54g6umWx/BLI3U/ zqVuCPw2UkWWjs0jghOeRTxMqX+WJSuZqmaZrtPgrkSmCiGSWEhfTVINLNOgFBMH wMSf0XsGgUlP9aA0yD6qPzU=-----END PRIVATE KEY-----。

keytool参数

keytool参数

keytool参数(原创实用版)目录1.keytool 简介2.keytool 参数说明3.keytool 参数举例4.keytool 参数的作用5.总结正文一、keytool 简介keytool 是一款 Java 密钥管理工具,它可以用于生成、存储和管理加密密钥。

keytool 是 Java 加密扩展 (JCE) 和 Java 安全扩展 (JSR 107) 的一部分,它可以在 Java 应用程序中使用,同时也可以作为独立的命令行工具使用。

二、keytool 参数说明keytool 提供了许多参数,用于执行各种密钥管理任务。

这些参数可以分为以下几类:1.密钥生成参数:用于生成新的密钥对或密钥。

2.密钥导入参数:用于将现有的密钥导入到 keytool 中。

3.密钥导出参数:用于将 keytool 中的密钥导出到文件或另一个密钥管理工具中。

4.密钥删除参数:用于删除 keytool 中的密钥。

5.密钥列表参数:用于列出 keytool 中的所有密钥。

6.密钥存储参数:用于将密钥存储到不同的存储介质中,如内存、文件或硬件安全模块 (HSM)。

三、keytool 参数举例以下是一些常见的 keytool 参数及其用法:1.生成密钥对:```keytool -genkey -alias myKeyPair -keyalg RSA -keysize 2048 -validity 365 -store myKeyStore```2.导入密钥:```keytool -importkey -alias myKey -file myKey.pem -keystore myKeyStore```3.导出密钥:```keytool -exportkey -alias myKey -file myKey.pem -keystore myKeyStore```4.删除密钥:```keytool -delete -alias myKey -keystore myKeyStore```5.列出密钥:```keytool -list -keystore myKeyStore```6.存储密钥:```keytool -store -file myKeyStore -keypass myKeyPassword```四、keytool 参数的作用keytool 的各个参数用于执行不同的密钥管理任务,如生成、导入、导出、删除和列出密钥等。

jdk工具keytool和jarsigner帮助

jdk工具keytool和jarsigner帮助

jdk工具keytool和jarsigner帮助jdk工具keytool和jarsigner帮助Part1(jdk keytool&jarsigner tool manual)0.背景keytool是JDK中包含的密钥和证书的管理工具。

用于管理私钥及其相关的X.509证书链的keystore。

X.509证书链用于认证对应的公钥,keystore类似于一个数据库。

同时keytool还用于管理信任实体发布的证书。

jarsigner是JDK中包含的用于JAR文件签名和验证的工具。

为Java档案文件(JAR)生成签名,以及对已签名的jar文件的进行校验。

1.工具Location这两个工具都位于$JAVA_HOME/bin目录下,其中$JAVA_HOME是JDK的安装目录。

这两个工具都是在命令行中使用,在命令行窗口输入:keytool和jarsigner即可获取命令的工具的使用方法。

2.keytool工具简介keytool是密钥和证书管理工具。

用户使用该工具来管理公钥/私钥对以及关联的证书,通过使用数字签名,可以应用于自签名或者数据完整性/认证服务,用户还可以使用该工具来缓存合作伙伴的公钥(以证书的形式)。

证书是由实体进行数字签名的声明,这里实体可以是个人或者企业。

一旦数据被数字签名,那么可以通过检查数据完整性和可靠性来校验签名。

完整性的意思是数据没有被修改/篡改过,可靠性是指数据确实是来自于宣布拥有数据的人。

keytool将密钥和证书存储在所谓的keystore中,默认的keystore实现是将keystore作为一个文件。

它使用密码来保护私钥。

jarsigner工具使用keystore中的信息来生成或者校验JAR文件的数字签名。

jarsigner使用附带在JAR文件中的证书来校验数字签名(证书包含在JAR文件的签名块文件中),然后检查证书的公钥是否是可信赖的,也就是说是否包含在指定的keystore中。

数字证书中keytool命令使用说明

数字证书中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 explorer用法

keytool explorer用法

keytool explorer用法Keytool Explorer(密钥管理工具)的用法Keytool Explorer是一个用于管理和操作密钥库和证书的图形用户界面(GUI)工具。

它可以在Windows、Mac和Linux操作系统上使用,并提供了一些方便的功能,帮助用户生成、查看、导出和导入密钥和证书。

要开始使用Keytool Explorer,首先需要安装该软件并打开它。

安装时,请确保选择与您的操作系统兼容的版本。

一旦打开了Keytool Explorer,您将看到一个直观的界面,它使您能够执行各种密钥和证书相关的操作。

一些常用的功能包括:1. 生成密钥对:使用Keytool Explorer,您可以生成各种类型的密钥对,如RSA、DSA和ECDSA。

只需提供必要的信息,如密钥长度和密码,Keytool Explorer会自动为您生成密钥对并将其保存到密钥库中。

2. 查看和管理密钥库:Keytool Explorer使您可以轻松查看和管理保存在密钥库中的密钥和证书。

您可以查看密钥库中的所有条目,并执行操作,如添加、删除、导出和导入密钥和证书。

3. 导出和导入证书:使用Keytool Explorer,您可以从密钥库中导出证书,并将其保存为文件。

您还可以通过导入现有的证书文件来添加到密钥库中。

4. 密钥库和证书管理:Keytool Explorer提供了一些管理密钥库和证书的功能,包括更改密钥库密码、更改条目别名、查看证书详细信息等。

总之,Keytool Explorer是一个实用的工具,帮助用户轻松管理和操作密钥库和证书。

它的直观界面和丰富的功能使其成为处理密钥和证书的理想选择。

无论您是开发者、系统管理员还是安全专业人士,Keytool Explorer都将是您的良好伴侣。

希望这篇文章能够帮助您了解Keytool Explorer的用法。

如果您有其他问题,请随时提问。

keytool使用

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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Keytool是一个Java数据证书的管理工具。

keystore
Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中
在keystore里,包含两种数据:密钥实体(Key entity)——密钥(secret key)又或者是私钥和配对公钥(采用非对称加密)
可信任的证书实体(trusted certificate entries)——只包含公钥
Alias(别名)
每个keystore都关联这一个独一无二的alias,这个alias通常不区分大小写
keystore的存储位置
在没有制定生成位置的情况下,keystore会存在与用户的系统默认目录,
如:对于window xp系统,会生成在系统的C:\Documents and Settings\UserName\
文件名为“.keystore”
keystore的生成
引用
keytool -genkey -alias tomcat -keyalg RSA -keystore d:\mykeystore -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN" -keypass changeit -storepass -validity 180
参数说明:
-genkey表示要创建一个新的密钥
-dname表示密钥的Distinguished Names,
CN=commonName
OU=organizationUnit
O=organizationName
L=localityName
S=stateName
C=country
Distinguished Names表明了密钥的发行者身份
-keyalg使用加密的算法,这里是RSA
-alias密钥的别名
-keypass私有密钥的密码,这里设置为changeit
-keystore 密钥保存在D:盘目录下的mykeystore文件中
-storepass 存取密码,这里设置为changeit,这个密码提供系统从mykeystore文件中将信息取出
-validity该密钥的有效期为 180天 (默认为90天)
cacerts证书文件(The cacerts Certificates File)
该证书文件存在于java.home\jre\lib\security目录下,是Java系统的CA证书仓库
创建证书
1.服务器中生成证书:(注:生成证书时,CN要和服务器的域名相同,如果在本地测试,则使用localhost)
keytool -genkey -alias tomcat -keyalg RSA -keystore d:\mykeystore-dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN"-keypass changeit -storepass changeit
2.导出证书,由客户端安装:
keytool -export -alias tomcat -keystore d:\mykeystore -file d:\mycerts.cer -storepass changeit
3.客户端配置:为客户端的JVM导入密钥(将服务器下发的证书导入到JVM中)
keytool -import -trustcacerts -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts " -file d:\mycerts.cer -storepass changeit
生成的证书可以交付客户端用户使用,用以进行SSL通讯,或者伴随电子签名的jar包进行发布者的身份认证。

常出现的异常:“未找到可信任的证书”--主要原因为在客户端未将服务器下发的证书导入到JVM中,可以用
keytool -list -alias tomcat -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -storepass changeit
linux: #keytool -list -alias tomcat -keystore "$JAVA_HOME/jre/lib/security/cacerts" -storepass changeit
来查看证书是否真的导入到JVM中。

keytool生成根证书时出现如下错误:
keytool错误:java.io.IOException:keystore was tampered with,or password was incorrect
原因是在你的home目录下是否还有.keystore存在。

如果存在那么把他删除掉,然后再执行
或者删除"%JAVA_HOME%/jre/lib/security/cacerts 再执行。

相关文档
最新文档