标签: keystore

如何在Java中获取受信任的根证书列表?

我希望能够在Java应用程序中以编程方式访问所有受信任的根证书.

我正在查看密钥库接口,但我希望得到JRE隐含的可信根列表.

这可以随处访问吗?

java certificate keystore

32
推荐指数
2
解决办法
4万
查看次数

android调用上的密钥库错误版本

我想发一个https请求.

我使用bouncycastle来生成这样的密钥库:

keytool -importcert -trustcacerts -alias ludevCA -file lu_dev_cert.crt -keypass mypass -keystore keystore.bks -storepass mypass -storetype BKS -providerclass org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath bcprov-jdk15on-146.jar  
Run Code Online (Sandbox Code Playgroud)

并且keylist命令返回正确的值.

但当我这样做时:

KeyStore ks = KeyStore.getInstance("BKS");
InputStream in = getResources().openRawResource(R.raw.keystore);  
ks.load(in, "mypass".toCharArray());
Run Code Online (Sandbox Code Playgroud)

我有一个错误:

wrong version of keystore
Run Code Online (Sandbox Code Playgroud)

我尝试使用多个版本的bouncycast,但结果是一样的.我也尝试定义keysize 1024,但没有任何改变.

有任何想法吗 ?

java android bouncycastle certificate keystore

32
推荐指数
4
解决办法
2万
查看次数

Android应用安装失败:软件包com.my.app在条目AndroidManifest.xml中没有证书

在Android Studio中,我使用密钥库生成了已签名的APK,依此类推.将APK安装到设备上时失败并显示"无法安装应用程序",而在Android监视器中,我看到以下行:

Package com.my.app has no certificates at entry AndroidManifest.xml; ignoring!
Run Code Online (Sandbox Code Playgroud)

有人知道什么是错的吗?

android install keystore

32
推荐指数
1
解决办法
2万
查看次数

我们可以在密钥库中加载多个证书和密钥吗?

我们可以在密钥库中加载多个证书和密钥吗?

是否始终只需要加载对(即证书和密钥)?

如果密钥库具有多个证书和密钥,当Java SSL尝试将连接建立为服务器时,将选择哪个证书和密钥?

java ssl certificate keystore

30
推荐指数
1
解决办法
5万
查看次数

如何将证书链添加到密钥库?

我有证书链的文件 - certificate.cer:

subject=/C...
issuer=/C=US/O=VeriSign, Inc...
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

subject=/C=US/O=VeriSign, Inc...
issuer=/C=US/O=VeriSign, Inc...
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

subject=/C=US/O=VeriSign, Inc...
issuer=/C=US/O=VeriSign, Inc...
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

我需要将这个证书链添加到密钥库.
我所做的:

openssl x509 -outform der -in certificate.cer -out cert.der
keytool -v -importcert -alias mykey -file cert.der -keypass <passwd> -keystore keystore -storepass <passwd> -alias <myalias>
Run Code Online (Sandbox Code Playgroud)

结果我在密钥库中只有1个证书.
但应该有3.
什么可能是错的?

解决方案:
CA向我发送了PKCS#7格式的证书.
我将它们存储在certificate.p7b文件中,然后通过以下命令成功将它们添加到密钥库:

keytool -import -trustcacerts -file certificate.p7b -keystore keystore -storepass <mypasswd> -alias "myalias"
Run Code Online (Sandbox Code Playgroud)

java openssl certificate keystore keytool

30
推荐指数
2
解决办法
12万
查看次数

如何在android中安全地存储加密密钥?

我想知道如何在Android中安全地存储加密密钥?保护加密和密钥的最佳方案是什么?

java security encryption android keystore

30
推荐指数
1
解决办法
7846
查看次数

您是否需要密码才能访问信任库(使用java keytool制作)?

我刚刚创建了一个带有java keytool的信任库(用于没有CA证书的服务器的服务器身份验证).但是我只是注意到一些奇怪的事 我这样开始我的客户:

java -Djavax.net.ssl.trustStore=<PATHSTUFF>/client.keystore -classpath <STUFF> Client
Run Code Online (Sandbox Code Playgroud)

(注意:没有指定密码)

以上呼叫有效.


但是,当我尝试这个:

java -classpath <STUFF> Client
Run Code Online (Sandbox Code Playgroud)

这是行不通的.(显然它不起作用,它需要信任库).


我本以期需要传递这个选项(但我没有):

-Djavax.net.ssl.trustStorePassword=mypass
Run Code Online (Sandbox Code Playgroud)

问题:您是否需要密码才能访问信任库?密码只是用于修改吗?密钥库怎么样?

java keystore keytool truststore

29
推荐指数
2
解决办法
4万
查看次数

Android P - KeyStore异常android.os.ServiceSpecificException

如果我在Android P上运行此代码,我会收到以下异常:

private static KeyStore.PrivateKeyEntry getPrivateKeyEntry(String alias) {
        try {
            KeyStore ks = KeyStore
                    .getInstance(SecurityConstants.KEYSTORE_PROVIDER_ANDROID_KEYSTORE);
            ks.load(null);
            KeyStore.Entry entry = ks.getEntry(alias, null);

            if (entry == null) {
                Log.w(TAG, "No key found under alias: " + alias);
                Log.w(TAG, "Exiting signData()...");
                return null;
            }

            if (!(entry instanceof KeyStore.PrivateKeyEntry)) {
                Log.w(TAG, "Not an instance of a PrivateKeyEntry");
                Log.w(TAG, "Exiting signData()...");
                return null;
            }
            return (KeyStore.PrivateKeyEntry) entry;
        } catch (Exception e) {
            Log.e(TAG, e.getMessage(), e);
            return null;
        }
    }
Run Code Online (Sandbox Code Playgroud)

例外:

在android.os.Parcel.readException的android.os.Parcel.readException(Parcel.java:1910)的android.os.Parcel.createException(Parcel.java:1956)上的KeyStore异常android.os.ServiceSpecificException :(代码7) (Parcel.java:1860)位于android.security.keynd.KandStoreStoreSpi的android.security.IKeystoreService $ Stub …

java android keystore android-keystore

26
推荐指数
2
解决办法
8026
查看次数

用于管理Java密钥库和安全证书的免费工具

什么是用于管理Java密钥库和安全证书的有竞争力的免费工具?

谢谢.

java security certificate keystore

25
推荐指数
2
解决办法
3万
查看次数

默认密钥库文件不存在?

我收到了这个错误.

C:\Program Files\Java\jre7\bin>keytool -list -v -keystore "C:\Users\Suresh\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

keytool error: java.lang.Exception: Keystore file does not exist: C:\Users\Suresh\.android\debug.keystore

java.lang.Exception: Keystore file does not exist: C:\Users\Suresh\.android\debug.keystore

at sun.security.tools.KeyTool.doCommands(Unknown Source)
at sun.security.tools.KeyTool.run(Unknown Source)
at sun.security.tools.KeyTool.main(Unknown Source)

C:\Program Files\Java\jre7\bin>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

java android keystore

25
推荐指数
2
解决办法
10万
查看次数