1

有効なP12ファイルがあります。X509certificateオブジェクトをインスタンス化して、クライアント側の証明書として使用できるようにする必要があります。

ここですでに同様の質問に答えていることを認識しています。p12証明書(証明書+秘密鍵を含む)からjavax.security.X509Certficateオブジェクトをインスタンス化する方法

ただし、Blackberryでは、getInstance(String)メソッドはKeyStoreでは使用できません。DeviceKeyStoreとTrustedKeyStoreで利用できます。ただし、「PKCS12」パラメーターをgetInstance()メソッドに渡すことはできません。

また、DeviceKeyStoreまたはTrustedKeyStoreにはメソッドがありませんload。彼らにはset方法があります。しかし、fileinputstreamパラメーターをそのパラメーターに渡す方法がわかりません。

誰かがこれを試しましたか?これに利用できる代替方法を知っていますか?

ご協力いただきありがとうございます。

編集:PEMファイルに対してこれを行う方法があります(BlackBerryアプリでSSL証明書をインストールします)。これは、私が最初にそれを機能させるために使用したものです。ただし、形式は異なります。PEMはBase64形式であり、証明書のみが含まれています。

4

1 に答える 1

2

そのために外部アプリケーションを呼び出すことができます。部分的な解決策があります: http ://supportforums.blackberry.com/t5/Java-Development/Handling-a-p12-certificate-store/td-p/654127

しかし、何らかの理由でインポートメニューが表示されません!コードの一部:

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 に答える