keytool 是安全钥匙和证书的管理工具。他管理一个存储了私有钥匙和验证相应公共钥匙的和他们相关联的x.509 证书链的keystore(至关一个数据库)。 keytool 是个有效的安全钥匙和证书的管理工具。 他可以使用户使用数字签名来管理他们本身的私有/公共钥匙对,管理用来做自我鉴定的相关的证书,管理数据完整性和鉴定服务。他还能使用户在通讯时缓存他们的公共钥匙。 一个证书是某一实体(我的,公司等)的数字签名,指出其余实体的公共钥匙(或其余信息)的周详的值。当数据被签名后,这个签名信息被用来检验数据的完整性和真实性。完整性指数据没有被修改和篡改,真实性指数据从全部产生和签名的一方真正的传输到达。 keytool 把钥匙和证书储存到一个keystore。默任的实现keystore的是个文件。他用一个密码保护钥匙。 而另外的一个工具jarsigner用keystore中的信息产生或检验java archive(jar文件)中的数字签名。 keystore有两个不一样的入口: 1.钥匙入口:保存了很是敏感的加密的钥匙信息,而且是用一个保护的格式存储以防止未被受权的访问。以这种形式存储的钥匙是秘密钥匙,或是个对应证书链中公有钥匙的私有钥匙。 2.信任证书入口:包含一个属于其余部分的单一公共钥匙证书。他之因此被称为"信任证书",是由于keystore信任的证书中的公共钥匙真正属于证书全部者的身份识别。 认证书的建立过程: 1.建立证书 【%TOMCAT_HOME%/bin> keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600】 -alias:证书别名 -keyalg:证书算法 -keypass:证书密码 -storepass:存储密码 -keystore:存储路径 -validity:证书有效时间 ※此时会在%TOMCAT_HOME%/bin下生成server.keystore 文件 2.导出证书 【%TOMCAT_HOME%/bin> keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass changeit】 3.导入证书到信任库 【%TOMCAT_HOME%/bin> keytool -import -trustcacerts -alias tomcat -file server.cer -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit】 ※%JAVA_HOME%/jre/lib/security/cacerts 这个文件,执行完此命令后,文件变大 4.附:keytool其它命令(列出信任证书库中全部已有证书,删除库中某个证书) [keytool -list -v -keystore %JAVA_HOME%/jre/lib/security/cacerts] [keytool -delete -trustcacerts -alias tomcat -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit ]