java中怎么获取jks证书文件中的内容

java中怎么获取jks证书文件中的内容,第1张

JavaKeyStore的类型JKS和JCEKS是Java密钥库(KeyStore)的两种比较常见类型(我所知道的共有5种,JKS,JCEKS,PKCS12,BKS,UBER)。JKS的Provider是SUN,在每个版本的JDK中都有,JCEKS的Provider是SUNJCE,1.4后我们都能够直接使用它。JCEKS在安全级别上要比JKS强,使用的Provider是JCEKS(推荐),尤其在保护KeyStore中的私钥上(使用TripleDes)。PKCS#12是公钥加密标准,它规定了可包含所有私钥、公钥和证书。其以二进制格式存储,也称为PFX文件,在windows中可以直接导入到密钥区,注意,PKCS#12的密钥库保护密码同时也用于保护Key。BKS来自BouncyCastleProvider,它使用的也是TripleDES来保护密钥库中的Key,它能够防止证书库被不小心修改(Keystore的keyentry改掉1个bit都会产生错误),BKS能够跟JKS互 *** 作,读者可以用Keytool去中拍TryTry。UBER比较特别,当密码是通过命令行提供的时候,它只能跟keytool交互。整个keystore是通过PBE/SHA1/Twofish加密,因此keystore能够防止被误改、察看以及校验。以前,SunJDK(提供者为SUN)允许你在不提供密码的情况下直接加载一个Keystore,类似cacerts,UBER不允许这种情况。证书导入Der/Cer证书导入:要从某个文件中导入某个证书,使用keytool工具的-import命令:1keytool-import-filemycert.der-keystoremykeystore.jks如果在-keystore选项中指定了一个并不存在的密钥仓库,则该密钥仓库将被创建。如果不指定-keystore选项,则缺省密钥仓库将是宿主目录中名为.keystore的文件。如果该文件并不存在,则它将被创建。创建密钥仓库时会要求输入访问口令,以后需要使用此口令来访问。可使用-list命令来查看密钥仓库里的内容:1keytool-list-rfc-keystoremykeystore.jksP12格式证书导入:keytool无法直接导入PKCS12文件。第一种方法是使用IE将pfx证书导入,再导出为cert格式文件。使用上面介绍的方法将其导入到密钥仓库中。这样的话仓库里面只包含了证书信息,没有私钥内容。第二种方法是将pfx文件导入到IE浏览器中,再导出为pfx文件。新生成的pfx不能被导入到keystore中,报错:keytool错误:java.lang.Exception:所输入的不是一个X.509认证。新生成的pfx文件可以被当作keystore使用。但会报个错误asunknownattr1.3.6.1.4.1.311.17.1,查了下资料,说IE导出的就会这样,使用Netscape就不会有这个错误.第三种方法是将pfx文件当作一个keystore使用。但是通过微软的证书管理控制台生成的pfx文件不能直接使用。keytool不认此格式,报keytool错误:java.io.IOException:failedtodecryptsafecontentsentry。需要通过OpenSSL转换一下:1opensslpkcs12-inmycerts.pfx-outmycerts.pem2opensslpkcs12-export-inmycerts.pem-outmykeystore.p12通过keytool的-list命令可检查下密钥仓库中的内容:1keytool-rfc-list-keystoremykeystore.p12-storetypepkcs12这里需要指明仓库类型为pkcs12,因为缺省的类型为jks。这卖启羡样此密钥仓库就即包含证书信息也包含私钥信息。P7B格式证书导入:keytool无法直接导入p7b文件。需要将证旁并书链RootServer.p7b(包含根证书)导出为根rootca.cer和子rootcaserver.cer。将这两个证书导入到可信任的密钥仓库中。1keytool-import-aliasrootca-trustcacerts-filerootca.cer-keystoretestkeytrust.jks遇到是否信任该证书提示时,输入y1keytool-import-aliasrootcaserver-trustcacerts-filerootcaserver.cer-keystoretestkeytrust.jks总结P12格式的证书是不能使用keytool工具导入到keystore中的TheSun'sPKCS12Keystore对从IE和其他的windows程序生成的pfx格式的证书支持不太好.P7B证书链不能直接导入到keystore,需要将里面的证书导出成cer格式,再分别导入到keystore。

打开 Android Studio,然后选择右边的 Gradle 标签,选择一个项目,然后选择 signingReport 这个 Task,双击运行

然后选择右下角的 Gradle Console,就可以看到签名信息了

使用解压工具解压 APK 文件,在 META-INF 文李弯件夹拿到 CERT.RSA 文件。假设 CERT.RSA 文件的路径哪粗闷是 C:\Users\Administrator\Desktop\CERT.RSA。在 CMD 中输入

就可以得到签名信息了

jks 作为签名文件,也可以通过命令行来查看的其中的签名信息,假设签名文件的名称是 test_release.jks,在终端中输入

即凳锋可得到签名信息

servers中的myserver---monitoring--performance。观察一下Threads、Memory Usage、Queue Length等信息。

打开weblogic控制台,并登陆进去。依次点击  安全领域→领域(这里碰薯皮用的是myrealm)。

然后将会看到如下界面,依次展开服务器,找到AdminServer,点击进笑差入。

此时界面如下显示,选中启用SSL监听端口,并将手简SSL监听端口修改为你所需要的端口,修改完成后保存,然后点击密钥库。

此时进入到密钥库界面,选择更改,选中定制标识和定制信任,此时将看到如下界面,将相关内容填写进去。

weblogic.jks   cacerts  由权威CA机构产生,比如这里测试用到的两个文件均是由安徽省电子认证管理中心有限责任公司 签发

定制标识密钥库:  填写weblogic.jks文件路径

定制标识密钥库类型 :    jks

定制标识密钥库密码短语:  此处填写weblogic.jks密码

定制信任密钥库: 填写cacerts文件路径

定制信任密钥库类型: jks

定制信任密钥库密码短语 :填写cacerts密码

填写完成后保存,然后点击SSL即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12230805.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存