keystore_keystore下载 - CSDN
精华内容
参与话题
  • 关于keystore的简单介绍

    万次阅读 2018-05-11 09:45:00
    Keytool是一个Java数据证书的管理工具 ,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中。 在keystore里,包含两种数据: 1. 密钥实体(Key entity)——密钥(secret key)又或者是私钥...

    Keytool是一个Java数据证书的管理工具 ,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中。 
    keystore里,包含两种数据: 
    1. 密钥实体(Key entity)——密钥(secret key)又或者是私钥和配对公钥(采用非对称加密) 
    2. 可信任的证书实体(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 -keystore e:\yushan.keystore(需修改口令的keystore) -storepass 123456(原始密码) -new yushan(新密码) 
    -import 将已签名数字证书导入密钥库 keytool -import -alias 指定导入条目的别名 -keystore 指定keystore -file 需导入的证书

    · 

    创建keystore文件 
    keytool -genkey -alias dotuian -keystore dotuian.keystore -keyalg RSA 
    生成一个名为 dotuian.keystore 的文件

    · 

    · 

    检查一个keystore:

    · 

    keytool -list -v -keystore dotuian.keystore

    Enter keystore password:your password(输入密码)

    · 1

    · 2

    · 输出keystore到一个文件:testkey:

    keytool -export -alias dotuian -keystore dotuian.keystore -rfc -file dotuian.cer

    Enter keystore password:your password(输入密码)

    · 1

    · 2

    将把证书库 dotuian.keystore 中的别名为 dotuian 的证书导出到 dotuian.cer 证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。

    · 查看保存在文件中的证书

    keytool -printcert -file dotuian.cer

    · 1

    · 输入证书到一个新的truststore

    keytool -import -alias tomcat -file testkey -keystore truststore

    · 1

    · 2

    个人分类: Java

    展开全文
  • Android keystore简介、生成、查看

    万次阅读 2018-08-21 14:58:25
    三部分keystore简介、生成方式,查看keystore信息 一、keystore简介 Keytool :是一个有效的安全钥匙和证书的管理工具,Java 中的 keytool.exe (位于 JDK\Bin 目录下)可以用来创建数字证书; keystore:数字...

    三部分keystore简介、生成方式,查看keystore信息

    一、keystore简介

    Keytool :是一个有效的安全钥匙和证书的管理工具,Java 中的 keytool.exe (位于 JDK\Bin 目录下)可以用来创建数字证书;

    keystore:数字证书,是一个存储了证书的文件。文件包含证书的私钥,公钥和对应的数字证书的信息。

    这里不多介绍了,以下这篇文章讲的可以的,转载代码咖啡https://www.jianshu.com/p/644ddb6e3d9c

    二、生成keystore方式(两种studio、命令行生成keystore)

    1、studio生成,一下两个步骤。选择“Create new keystore”,按步骤操作即可

     

    2、命令行生成

    dos下进入JDK的bin目录

    运行如下命令:

    keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore

    (-validity 20000代表有效期天数),命令完成后,bin目录中会生成android.keystore

    查看命令keytool -list -keystore "android.keystore" 输入你设置的keystore密码

    三、查看keystore信息

    命令行查看keystore信息:

    1、打开CMD命令行进入本机安装的jdk或jre下的bin目录;

    2、命令行输入:keytool -list -v -keystore 你的keystore路径 -storepass 密码;

    如下面是生成方式一生成的keystore:sample_keystore.jks

    输入命令:keytool -list -v -keystore C:\studioworkplace\studySample\Sample\keystore\sample_keystore.jks -storepass 123456

    展开全文
  • keystore文件

    2020-07-29 14:21:49
    自己生成的keystore,包含一个keystore 文件和一个readme.txt 密码文件 ,可以直接下载使用,
  • keystore 介绍

    万次阅读 2013-01-16 08:43:26
    keystore 介绍 博客分类:  j2se   Keytool 是一个有效的安全钥匙和证书的管理工具.  Java 中的 keytool.exe (位于 JDK\Bin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名...

    keystore 介绍

    博客分类:  j2se
     

    Keytool 是一个有效的安全钥匙和证书的管理工具. 
    Java 中的 keytool.exe (位于 JDK\Bin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。 
    Keytool 把钥匙和证书储存到一个keystore.默任的实现keystore的是一个文件.它用一个密码保护钥匙. 
    (2) 
    关于证书的几个概念: 
        一个证书是一个实体的数字签名,还包含这个实体的公共钥匙值. 
            公共钥匙 :是一个详细的实体的数字关联,并有意让所有想同这个实体发生信任关系的其他实体知道.公共钥匙用来检验签名; 
            数字签名:是实体信息用实体的私有钥匙签名(加密)后的数据.这条数据可以用这个实体的公共钥匙来检验签名(解密)出实体信息以鉴别实体的身份;        
            签名:用实体私有钥匙加密某些消息,从而得到加密数据; 
            私有钥匙:是一些数字,私有和公共钥匙存在所有用公共钥匙加密的系统的钥匙对中.公共钥匙用来加密数据,私有钥匙用来计算签名.公钥加密的消息只能用私钥解密,私钥签名的消息只能用公钥检验签名。 
            实体:一个实体可以是一个人,一个组织,一个程序,一台计算机,一个商业,一个银行,或其他你想信任的东西. 
        实际上,我们用[1]中的命令已经生成了一个自签名的证书,没有指定的参数都使用的是默认值。 
        我们也可以用如下命令生成一个自签名的证书: 
            keytool -genkey -dname "CN=fingki,OU=server,O=server,L=bj,ST=bj,C=CN" -alias myCA -keyalg RSA -keysize 1024 -keystore myCALib -keypass 654321 -storepass 123456 -validity 3650 
            这条命令将生成一个别名为myCA的自签名证书,证书的keypair的密码为654321,证书中实体信息为 "CN=fingki,OU=server,O=server,L=bj,ST=bj,C=CN",存储在名为myCALib的keystore中(如果没有将自动生成一个),这个keystore的密码为123456,密钥对产生的算法指定为RSA,有效期为10年。 

    [2] 
    详细分析如下: 
    Keystore的别名: 
    所有的keystore入口(钥匙和信任证书入口)是通过唯一的别名访问.别名是不区分大小写的.如别名Hugo和 
    hugo指向同一个keystore入口. 
    可以在加一个入口到keystore的时候使用-genkey参数来产生一个钥匙对(公共钥匙和私有钥匙)时指定别 
    名.也可以用-import参数加一个证书或证书链到信任证书. 
    如: 
    1. 
    keytool -genkey -alias duke -keypass dukekeypasswd 
    其中duke为别名,dukekeypasswd为duke别名的密码.这行命令的作用是产生一个新的公共/私有钥匙对. 
    假如你想修改密码,可以用: 
    keytool -keypasswd -alias duke -keypass dukekeypasswd -new newpass 
    将旧密码dukekeypasswd改为newpass. 
    可以用-keystore指定其名时,将产生指定的keystore. 
    2. 
    检查一个keystore: 
    keytool -list -v -keystore keystore 
    Enter keystore password:your password(输入密码) 
    3.输出keystore到一个文件:testkey: 
    keytool -export -alias duke -keystore keystore -rfc -file testkey 
    系统输出: 
    Enter keystore password:your password(输入密码) 
    Certificate stored in file 
    例如:keytool -export -keystore monitor.keystore -alias monitor -file monitor.cer 
    将把证书库 monitor.keystore 中的别名为 monitor 的证书导出到 monitor.cer 证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。 
    4.输入证书到一个新的truststore: 
    keytool -import -alias dukecert -file testkey -keystore truststore 
    Enter keystore password:your new password.(输入truststore新密码) 
    将keystore导入证书中这里向Java默认的证书 cacerts导入Rapa.cert 
    keytool -import -alias RapaServer -keystore cacerts -file Rapa.cert -keystore cacerts 
    5.证书条目的删除 
    keytool的命令行参数 -delete 可以删除密钥库中的条目,如: keytool -delete -alias RapaServer -keystore d2aApplet.keystore ,这条命令将 d2aApplet.keystore 中的 RapaServer 这一条证书删除了。 

    7,将证书导出到证书文件 
        keytool -export -alias myCA -file myCA.cer -keystore myCALib -storepass 123456 -rfc 
        使用该命令从名为myCALib的keystore中,把别名为myCA的证书导出到证书文件myCA.cer中。(其中-storepass指定keystore的密码,-rfc指定以可查看编码的方式输出,可省略)。 
    8,通过证书文件查看证书信息 
        keytool -printcert -file myCA.cer 
    9,密钥库中证书条目口令的修改 
        Keytool -keypasswd -alias myCA -keypass 654321 -new newpass -storepass 123456 -keystore myCALib 
    10,删除密钥库中的证书条目 
        keytool -delete -alias myCA -keystore myCALib 
    11,把一个证书文件导入到指定的密钥库 
        keytool -import -alias myCA -file myCA.cer -keystore truststore 
        (如果没有名为truststore的keystore,将自动创建,将会提示输入keystore的密码) 
    12,更改密钥库的密码 
        keytool -storepasswd -new 123456  -storepass 789012 -keystore truststore 
        其中-storepass指定原密码,-new指定新密码。 
    [3] 
    自己的实例 
    (1)用法总结: 
    1. 
    keystore好像一个数据库.每种操作,都要先指定keystore名与密码,以及操作的对象别名如: 
    ..... -alias AAA -keystore jServer.keystore -storepass 123456 
    2. 
    操作的一般格式: 
    keytool + 操作类型[-genkey,-list -v,-printcert -file,-import -flie,-export -file,-delete,- 
    keypasswd -new,-storepasswd -new] + 再加上上面的格式. 
    (2)实例 
    C:\keytool>keytool -genkey -alias jason -keystore jServer.keystore -keyalg RSA 
    输入keystore密码:  1234 
    Keystore 密码太短 -至少必须为6个字符 
    输入keystore密码:  123456 
    您的名字与姓氏是什么? 
      [Unknown]:  huang 
    您的组织单位名称是什么? 
      [Unknown]:  access 
    您的组织名称是什么? 
      [Unknown]:  access 
    您所在的城市或区域名称是什么? 
      [Unknown]:  sz 
    您所在的州或省份名称是什么? 
      [Unknown]:  gd 
    该单位的两字母国家代码是什么 
      [Unknown]:  china 
    CN=huang, OU=access, O=access, L=sz, ST=gd, C=china 正确吗? 
      [否]:  y 
    输入<jason>的主密码 
            (如果和 keystore 密码相同,按回车):  74123 
    主密码太短 -至少必须为 6 个字符 
    输入<jason>的主密码 
            (如果和 keystore 密码相同,按回车):  456789 
    C:\keytool>keytool -list -v -keystore jServer.keystore 
    输入keystore密码:  123456 
    Keystore 类型: jks 
    Keystore 提供者: SUN 
    您的 keystore 包含 1 输入 
    别名名称: jason 
    创建日期: 2009-6-24 
    输入类型:KeyEntry 
    认证链长度: 1 
    认证 [1]: 
    Owner: CN=huang, OU=access, O=access, L=sz, ST=gd, C=china 
    发照者: CN=huang, OU=access, O=access, L=sz, ST=gd, C=china 
    序号: 4a40fd0f 
    有效期间: Wed Jun 24 00:04:31 CST 2009 至: Tue Sep 22 00:04:31 CST 2009 
    认证指纹: 
             MD5:  4A:67:84:5E:C2:5E:3E:16:05:1D:A9:F4:72:79:13:48 
             SHA1: 01:4A:5A:76:8E:1B:00:D3:5E:FD:CA:3A:D0:52:4E:57:BA:03:26:B9 

    ******************************************* 
    ******************************************* 

    C:\keytool>keytool -export -alias jason -keystore jServer.keystore -rfc -file jasonfile 
    输入keystore密码:  123456 
    保存在文件中的认证 <jasonfile> 
    C:\keytool>keytool -export -alias jason -keystore jServer.keystore -storepass 123456 -rfc -f 
    ile jasonfile2 
    保存在文件中的认证 <jasonfile2> 
    C:\keytool>keytool -export -alias jason -keystore jServer.keystore -storepass 123456 -rfc -f 
    ile jasonfile.cer 
    保存在文件中的认证 <jasonfile.cer> 
    C:\keytool>keytool -printcert -file jasonfile.cer 
    Owner: CN=huang, OU=access, O=access, L=sz, ST=gd, C=china 
    发照者: CN=huang, OU=access, O=access, L=sz, ST=gd, C=china 
    序号: 4a40fd0f 
    有效期间: Wed Jun 24 00:04:31 CST 2009 至: Tue Sep 22 00:04:31 CST 2009 
    认证指纹: 
             MD5:  4A:67:84:5E:C2:5E:3E:16:05:1D:A9:F4:72:79:13:48 
             SHA1: 01:4A:5A:76:8E:1B:00:D3:5E:FD:CA:3A:D0:52:4E:57:BA:03:26:B9 
    C:\keytool>keytool -keypasswd -alias jason -keypass 456789 -new 20070423 -keystore jServer - 
    storepass 123456 
    keytool错误: java.lang.Exception: Keystore 文件不存在: jServer 
    C:\keytool>keytool -keypasswd -alias jason -keypass 456789 -new 20070423 -keystore jServer.k 
    eystore -storepass 123456 
    C:\keytool>keytool -list -v -alias jason -storepass 123456 
    keytool错误: java.lang.Exception: Keystore 文件不存在: C:\Documents and Settings\Administr 
    ator\.keystore 
    C:\keytool>keytool -list -v -alias jason -keystore jServer.keystore -storepass 123456 
    别名名称: jason 
    创建日期: 2009-6-24 
    输入类型:KeyEntry 
    认证链长度: 1 
    认证 [1]: 
    Owner: CN=huang, OU=access, O=access, L=sz, ST=gd, C=china 
    发照者: CN=huang, OU=access, O=access, L=sz, ST=gd, C=china 
    序号: 4a40fd0f 
    有效期间: Wed Jun 24 00:04:31 CST 2009 至: Tue Sep 22 00:04:31 CST 2009 
    认证指纹: 
             MD5:  4A:67:84:5E:C2:5E:3E:16:05:1D:A9:F4:72:79:13:48 
             SHA1: 01:4A:5A:76:8E:1B:00:D3:5E:FD:CA:3A:D0:52:4E:57:BA:03:26:B9 
    C:\keytool>keytool -delete -alias jason -keystore jServer.keystore -storepass 123456 
    C:\keytool>keytool -list -v -alias jason -keystore jServer.keystore -storepass 123456 
    keytool错误: java.lang.Exception: 别名 <jason> 不存在 
    C:\keytool>keytool -import -alias hwj -file jasonfile.cer -keystore jServer.keystore -storep 
    ass 123456 
    Owner: CN=huang, OU=access, O=access, L=sz, ST=gd, C=china 
    发照者: CN=huang, OU=access, O=access, L=sz, ST=gd, C=china 
    序号: 4a40fd0f 
    有效期间: Wed Jun 24 00:04:31 CST 2009 至: Tue Sep 22 00:04:31 CST 2009 
    认证指纹: 
             MD5:  4A:67:84:5E:C2:5E:3E:16:05:1D:A9:F4:72:79:13:48 
             SHA1: 01:4A:5A:76:8E:1B:00:D3:5E:FD:CA:3A:D0:52:4E:57:BA:03:26:B9 
    信任这个认证? [否]:  y 
    认证已添加至keystore中 
    C:\keytool>keytool -list -v -alias jason -keystore jServer.keystore -storepass 123456 
    keytool错误: java.lang.Exception: 别名 <jason> 不存在 
    C:\keytool>keytool -list -v -alias hwj -keystore jServer.keystore -storepass 123456 
    别名名称: hwj 
    创建日期: 2009-6-24 
    输入类型: trustedCertEntry 
    Owner: CN=huang, OU=access, O=access, L=sz, ST=gd, C=china 
    发照者: CN=huang, OU=access, O=access, L=sz, ST=gd, C=china 
    序号: 4a40fd0f 
    有效期间: Wed Jun 24 00:04:31 CST 2009 至: Tue Sep 22 00:04:31 CST 2009 
    认证指纹: 
             MD5:  4A:67:84:5E:C2:5E:3E:16:05:1D:A9:F4:72:79:13:48 
             SHA1: 01:4A:5A:76:8E:1B:00:D3:5E:FD:CA:3A:D0:52:4E:57:BA:03:26:B9 
    C:\keytool>keytool -storepasswd -new 20070423 -keystore jServer.keystore -storepass 123456 

    展开全文
  • Keystore密钥库

    千次阅读 2016-03-08 17:34:36
    近来由于项目需要做Single Sign On,...因此,有必要把keystore, keytool的东西翻出来晒晒。 几个概念 keystore 是一个密码保护的文件,用来存储密钥和证书(也就是说,keystore中存储的有两类型entries);这个文件(默

    近来由于项目需要做Single Sign On, 研究了一下CAS(具体配置等下篇再介绍), 而这个CAS的配置最关键的不是CAS本身,而是数字证书,如何配置多台服务器之间的信任链接。因此,有必要把keystore, keytool的东西翻出来晒晒。

    几个概念

    keystore
    是一个密码保护的文件,用来存储密钥和证书(也就是说,keystore中存储的有两类型entries);这个文件(默认的)位于你的home目录,也就是你登录到操作系统的用户名的那个目录。或者通过-keystore参数设为你指定的位置。需要说明的是:如果不通过-keystore来指定位置,将使用home目录中的默认keystore文件。smilingleo原创

    通过-alias来检索keystore中的具体内容(keystore中可能存有多个entry)

    如果想查看keystore中每个entry的详细信息,比如谁签发的,用-v参数(verbose),里面你还可以看到默认的有效期。

    系统签署的证书其有效期默认为一年,通过-validity来设定其具体的天数。

    重要:JDK/jre/lib/security目录下面有一个cacerts的文件,就是一个keystore,其默认密码是changeit。如果一个App Server想建立一个安全的链接到另外一个Server,需要通过一个受信的数字证书,而这个证书就需要存储在cacerts中。smilingleo原创

    keytool
    用来import, export, list keystore中内容的工具,还可以用来以测试为目的,生成自己签署的证书。

    了解了上面的概念之后,你操作起来就比较容易,比如我们想从一个keystore(文件存在home目录的.keystore文件)中删除某个entry, 其alias是tomcat5,那么keytool命令就是:
    keytool -keystore .keystore -delete -alias tomcat5
    是不是很自然?smilingleo原创

    理解:签署
    服务器上产生一个证书之后,用这个证书签署Applet等,以表明这个applet确实是来源于这个服务器,而不是其他,以实现其真实性,如果你信任服务器,那么你就可以信任这个applet。

    比如你可以通过jarsigner工具,用keystore中的某个key entry来签署一个jar文件。

     

    Keytool 是一个有效的安全钥匙和证书的管理工具. 
    Java 中的 keytool.exe (位于 JDK\Bin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。 
    Keytool 把钥匙和证书储存到一个keystore.默任的实现keystore的是一个文件.它用一个密码保护钥匙. 
    (2) 
    关于证书的几个概念: 
        一个证书是一个实体的数字签名,还包含这个实体的公共钥匙值. 
            公共钥匙 :是一个详细的实体的数字关联,并有意让所有想同这个实体发生信任关系的其他实体知道.公共钥匙用来检验签名; 
            数字签名:是实体信息用实体的私有钥匙签名(加密)后的数据.这条数据可以用这个实体的公共钥匙来检验签名(解密)出实体信息以鉴别实体的身份;        
            签名:用实体私有钥匙加密某些消息,从而得到加密数据; 
            私有钥匙:是一些数字,私有和公共钥匙存在所有用公共钥匙加密的系统的钥匙对中.公共钥匙用来加密数据,私有钥匙用来计算签名.公钥加密的消息只能用私钥解密,私钥签名的消息只能用公钥检验签名。 
            实体:一个实体可以是一个人,一个组织,一个程序,一台计算机,一个商业,一个银行,或其他你想信任的东西. 
        实际上,我们用[1]中的命令已经生成了一个自签名的证书,没有指定的参数都使用的是默认值。 
        我们也可以用如下命令生成一个自签名的证书: 
            keytool -genkey -dname "CN=fingki,OU=server,O=server,L=bj,ST=bj,C=CN" -alias myCA -keyalg RSA -keysize 1024 -keystore myCALib -keypass 654321 -storepass 123456 -validity 3650 
            这条命令将生成一个别名为myCA的自签名证书,证书的keypair的密码为654321,证书中实体信息为 "CN=fingki,OU=server,O=server,L=bj,ST=bj,C=CN",存储在名为myCALib的keystore中(如果没有将自动生成一个),这个keystore的密码为123456,密钥对产生的算法指定为RSA,有效期为10年。 

    [2] 
    详细分析如下: 
    Keystore的别名: 
    所有的keystore入口(钥匙和信任证书入口)是通过唯一的别名访问.别名是不区分大小写的.如别名Hugo和 
    hugo指向同一个keystore入口. 
    可以在加一个入口到keystore的时候使用-genkey参数来产生一个钥匙对(公共钥匙和私有钥匙)时指定别 
    名.也可以用-import参数加一个证书或证书链到信任证书. 
    如: 
    1. 
    keytool -genkey -alias duke -keypass dukekeypasswd 
    其中duke为别名,dukekeypasswd为duke别名的密码.这行命令的作用是产生一个新的公共/私有钥匙对. 
    假如你想修改密码,可以用: 
    keytool -keypasswd -alias duke -keypass dukekeypasswd -new newpass 
    将旧密码dukekeypasswd改为newpass. 
    可以用-keystore指定其名时,将产生指定的keystore. 
    2. 
    检查一个keystore: 
    keytool -list -v -keystore keystore 
    Enter keystore password:your password(输入密码) 
    3.输出keystore到一个文件:testkey: 
    keytool -export -alias duke -keystore keystore -rfc -file testkey 
    系统输出: 
    Enter keystore password:your password(输入密码) 
    Certificate stored in file 
    例如:keytool -export -keystore monitor.keystore -alias monitor -file monitor.cer 
    将把证书库 monitor.keystore 中的别名为 monitor 的证书导出到 monitor.cer 证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。 
    4.输入证书到一个新的truststore: 
    keytool -import -alias dukecert -file testkey -keystore truststore 
    Enter keystore password:your new password.(输入truststore新密码) 
    将keystore导入证书中这里向Java默认的证书 cacerts导入Rapa.cert 
    keytool -import -alias RapaServer -keystore cacerts -file Rapa.cert -keystore cacerts 
    5.证书条目的删除 
    keytool的命令行参数 -delete 可以删除密钥库中的条目,如: keytool -delete -alias RapaServer -keystore d2aApplet.keystore ,这条命令将 d2aApplet.keystore 中的 RapaServer 这一条证书删除了。 

    7,将证书导出到证书文件 
        keytool -export -alias myCA -file myCA.cer -keystore myCALib -storepass 123456 -rfc 
        使用该命令从名为myCALib的keystore中,把别名为myCA的证书导出到证书文件myCA.cer中。(其中-storepass指定keystore的密码,-rfc指定以可查看编码的方式输出,可省略)。 
    8,通过证书文件查看证书信息 
        keytool -printcert -file myCA.cer 
    9,密钥库中证书条目口令的修改 
        Keytool -keypasswd -alias myCA -keypass 654321 -new newpass -storepass 123456 -keystore myCALib 
    10,删除密钥库中的证书条目 
        keytool -delete -alias myCA -keystore myCALib 
    11,把一个证书文件导入到指定的密钥库 
        keytool -import -alias myCA -file myCA.cer -keystore truststore 
        (如果没有名为truststore的keystore,将自动创建,将会提示输入keystore的密码) 
    12,更改密钥库的密码 
        keytool -storepasswd -new 123456  -storepass 789012 -keystore truststore 
        其中-storepass指定原密码,-new指定新密码。 
    [3] 
    自己的实例 
    (1)用法总结: 
    1. 
    keystore好像一个数据库.每种操作,都要先指定keystore名与密码,以及操作的对象别名如: 
    ..... -alias AAA -keystore jServer.keystore -storepass 123456 
    2. 
    操作的一般格式: 
    keytool + 操作类型[-genkey,-list -v,-printcert -file,-import -flie,-export -file,-delete,- 
    keypasswd -new,-storepasswd -new] + 再加上上面的格式. 
    (2)实例 
    C:\keytool>keytool -genkey -alias jason -keystore jServer.keystore -keyalg RSA 
    输入keystore密码:  1234 
    Keystore 密码太短 -至少必须为6个字符 
    输入keystore密码:  123456 
    您的名字与姓氏是什么? 
      [Unknown]:  huang 
    您的组织单位名称是什么? 
      [Unknown]:  access 
    您的组织名称是什么? 
      [Unknown]:  access 
    您所在的城市或区域名称是什么? 
      [Unknown]:  sz 
    您所在的州或省份名称是什么? 
      [Unknown]:  gd 
    该单位的两字母国家代码是什么 
      [Unknown]:  china 
    CN=huang, OU=access, O=access, L=sz, ST=gd, C=china 正确吗? 
      [否]:  y 
    输入<jason>的主密码 
            (如果和 keystore 密码相同,按回车):  74123 
    主密码太短 -至少必须为 6 个字符 
    输入<jason>的主密码 
            (如果和 keystore 密码相同,按回车):  456789 
    C:\keytool>keytool -list -v -keystore jServer.keystore 
    输入keystore密码:  123456 
    Keystore 类型: jks 
    Keystore 提供者: SUN 
    您的 keystore 包含 1 输入 
    别名名称: jason 
    创建日期: 2009-6-24 
    输入类型:KeyEntry 
    认证链长度: 1 
    认证 [1]: 
    Owner: CN=huang, OU=access, O=access, L=sz, ST=gd, C=china 
    发照者: CN=huang, OU=access, O=access, L=sz, ST=gd, C=china 
    序号: 4a40fd0f 
    有效期间: Wed Jun 24 00:04:31 CST 2009 至: Tue Sep 22 00:04:31 CST 2009 
    认证指纹: 
             MD5:  4A:67:84:5E:C2:5E:3E:16:05:1D:A9:F4:72:79:13:48 
             SHA1: 01:4A:5A:76:8E:1B:00:D3:5E:FD:CA:3A:D0:52:4E:57:BA:03:26:B9 

    ************************************************************************************** 

    BIEE11g  Web Service Security  

    http://server:9704/analytics/saw.dll/wsdl/v6



    One of the most common problems faced by customer's is the use of the keystore and it's interplay with the credential store.Here is a picture that describes these relationships.(Click on the picture for a larger image). The picture makes some assumptions in describing the relationship. Some of assumptions are:

    a) the key used for signing and encryption are the same.

    b)A keystore can have multiple keys and each key can have it's own alias. In the picture I show only a single key with alias "orakey".

    c) The keystore being described here is a JKS keystore. Things can vary slightly for other type of keystores. 

    I hope to have a detailed How To that provides the larger picture and then shows these relationships in that context and this picture was created in the context of that How-To. However I think people will find this picture useful on a standalone basis as well.The <serviceInstance> is the entry you will find in jps-config.xml

    ***************************************************************************************

    keyStore和truststore区别

    一个web应用如果需要提供以https的方式访问的服务的话,我们需要一个数字证书,这个证书的配置是在apache的配置文件或者其他web容器的配置文件中进行配置的。当然这个可以保存在keystore中。

    我们自己的应用中通常所说的keystore或者truststore主要是针对于应用本身的需求来的。
    keystore和truststore从其文件格式来看其实是一个东西,只是为了方便管理将其分开
    keystore中一般保存的是我们的私钥,用来加解密或者为别人做签名



     
    truststore中保存的是一些可信任的证书,主要是java在代码中访问某个https的时候对被访问者进行认证的,以确保其实可信任的。

    truststore是必须的,如果我们没有显式的指定,那么java会默认指定为$JAVA_HOME/lib/security/cacerts 这个文件。

    如果要指定的话,可以在java的参数中进行指定

     

    Java代码  收藏代码
    1. -Djavax.net.ssl.keyStore=clientKeys   
    2. -Djavax.net.ssl.keyStorePassword=password   
    3. -Djavax.net.ssl.trustStore=clientTrust   
    4. -Djavax.net.ssl.trustStorePassword=password   

      

     

     keystore可以看成一个放key的库,key就是公钥,私钥,数字签名等组成的一个信息。

    truststore是放信任的证书的一个store
    truststore和keystore的性质是一样的,都是存放key的一个仓库,区别在于,truststore里存放的是只包含公钥的数字证书,代表了可以信任的证书,而keystore是包含私钥的。
    tomcat 
             
        <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
                   maxHttpHeaderSize="8192" algorithm="IbmX509" 
                   enableLookups="false" disableUploadTimeout="true"
                   acceptCount="100" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="SSL_TLS" 
                   keystoreFile="C:\Program Files\IBM\Build Forge\keystore\buildForgeKeyStore.p12"
                   keystorePass="qqqqqq" 
                   keystoreType="PKCS12" 
                   truststoreFile="C:\Program Files\IBM\Build Forge\keystore\buildForgeTrustStore.p12" 
                   truststorePass="qqqqqq"
                   ciphers="SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA" 
                   truststoreType="PKCS12" />
                   
    apache (C:\Program Files\IBM\Build Forge\Apache\conf\ssl)
    SSLCACertificateFile ../keystore/buildForgeCA.pem    
    SSLCertificateKeyFile ../keystore/buildForgeKeyForApache.pem           

    bfagent.conf
    #ssl_key_location C:\Program Files\IBM\Build Forge0092\keystore\buildForgeKey.pem
    ssl_key_password 2ccd5fb92852a2b900f91dff6c8d1d641123d090a74bd3524316
    ssl_cert_location C:\Program Files\IBM\Build Forge0092\keystore\buildForgeCert.pem
    ssl_ca_location C:\Program Files\IBM\Build Forge0092\keystore\buildForgeCA.pem
    ssl_protocol TLSv1
    ssl_cipher_group ALL


    展开全文
  • 签名文件keystore常见操作

    千次阅读 2017-12-12 10:43:23
    准备资料密钥库基本信息密钥库命名:test.keystore 密钥库密码:111111 有效时间:40000 加密算法:RSA 条目一:test1 条目二:test2 test1实体信息: 名字与姓氏:大叔 组织单位名称:山那边 组织...
  • 当我们想设置Custom debug keystore的时候很常见的报错有Keystore was tampered with, or password was incorret和Unable to find debug key in keystore! Keystore was tampered with, or password was incorret...
  • Invalid keystore format

    万次阅读 2018-04-24 17:20:39
    签名app时keystore更改后,导致所有的项目都无法运行 解决方法 找到debug.keystore并删除 路径 User\用户名\android\debug.keystore 删除后重新运行项目,会自动的在生成一个文件。...
  • 生成keystore签名1.定位到bin目录下2.输入命令行keytool -genkey -alias xiyilangpda -keyalg RSA -validity 20000 -keystore xiyilangpda.keystore这里关键文字的代表意义: xiyilangpda : keystore的alias 20000...
  • jks与keystore的区别

    万次阅读 2017-08-30 10:00:54
    jks是在studio里面生成的签名证书, keystore是eclipse里面生成的.
  • 因为很可能我们前面只是关注了keystore文件的生成与否,没有太多留意keystore的一些参数,而在导出为apk时就需要用到一些比较关键的参数,如果用错,则会出现想下面类似的错误(别名用错),最终导致项目导出失败。...
  • keytool -import -alias HZZSQKJdianshang -file HZZSQKJdianshang.cer -keystore trust.jks –storepass –storepass 报错 keystore was tampered with,or password was incorrect 后来发现是信
  • 怎么查看keystore文件内容

    千次阅读 2017-02-24 16:25:55
    首先,我们要通过控制台(win+R输入cmd打开)进入jdk的jre的bin目录下 然后输入 keytool -list -v -keystore keystore文件路径 -storepass keystore密码就行了
  • 生成签名证书keystore

    万次阅读 2016-09-17 11:32:14
    进行Android项目开发中想要将androidapp导出为apk的时候需要选择一个数字证书,即keystore文件(android.keystore),它用来对我们的APP进行签名,是导出APP的一个钥匙,一般需要我们自己生成android.keystore文件 ...
  • keystore,pfx,cer这些都有什么区别?刚开始学习,一头雾水,麻烦哪位用最通俗的意思解释一下。加密和解密格式不一样?
  • 用自定义keystore调试微信分享app

    万次阅读 2014-03-06 20:39:32
    1、申请App_ID 2、填写应用签名 3、生产自己的key 4、用自己创建的key Debug微信分享App
  • Android debug.keystore的密码

    万次阅读 2013-06-19 12:17:18
    在Eclipse里面编译生成的APK中有一个签名的,它默认的key是debug.keystore,它默认的路径是: C:\Users\\.android\debug.keystore 这个key的密码是:android ===============================================...
  • p12证书转keystore签名

    千次阅读 2015-09-09 14:10:38
    p12转keystore
  • 【JAVA】JDK KeyStore 如何使用

    万次阅读 2015-03-10 10:21:50
    JAVA中keystore如何来使用 public static void main(String args[]) throws Exception { KeyStore ks = KeyStore.getInstance("JKS"); char[] pwd = "112233".toCharArray(); FileInputStream fis = new File...
  • 从Java Keystore文件中提取私钥、证书

    万次阅读 2009-12-11 14:09:00
    但是keytool工具,并没有提供方便的方法,从keystore文件中到处私钥和证书。所以可以通过JDK提供的java.security.KeyStore类来编码完成相关工作。参见:http://www.anandsekar.com/2006/01/19/exporting-the
1 2 3 4 5 ... 20
收藏数 56,399
精华内容 22,559
关键字:

keystore