1

我有一个有效的 P12 文件。我需要实例化一个 X509certificate 对象,以便可以将其用作客户端证书。

我意识到这里已经回答了一个类似的问题,How to instantiate javax.security.X509Certficate object from a p12 certificate (contains certificate + private key)

但是在 Blackberry 中,keyStore 没有 getInstance(String) 方法。它可用于 DeviceKeyStore 和 TrustedKeyStore。但是我们不能将“PKCS12”参数传递给 getInstance() 方法。

DeviceKeyStore 或 TrustedKeyStore 也没有这些load方法。他们有set方法。但我不确定我们如何将 fileinputstream 参数传递给那个。

有没有人试过这个?你知道有哪些替代方法可用吗?

谢谢你的帮助。

编辑:有一种方法可以为 PEM 文件执行此操作,(使用 BlackBerry App 安装 SSL 证书)这是我最初用来尝试使其工作的方法。但格式不同。PEM 是 Base64 格式,它只包含证书。

4

1 回答 1

2

You can invoke an external application for doing that. There is a partial solution: http://supportforums.blackberry.com/t5/Java-Development/Handling-a-p12-certificate-store/td-p/654127

But for some reason you don't get the import menu! The piece of code:

Invocation certInvocation = new Invocation( "path to .p12 on SD Card");
certInvocation.setResponseRequired( false );
certInvocation.setID( BlackBerryContentHandler.ID_MEDIA_CONTENT_HANDLER );
certInvocation.setAction( ContentHandler.ACTION_OPEN );
certInvocation.setType( "application/x-pkcs12" );

Registry registry = Registry.getRegistry( Application.class.getName() );
try {

    registry.invoke( certInvocation );
}
catch (Throwable t) {}
于 2012-11-20T10:26:15.767 回答