サーバーの SSL 証明書をダウンロードして、サーバーに接続して BlackBerry デバイスにデータを送信する前に確認することはできますか? 私は使用して((HttpsConnection)conn).getSecurityInfo();
いますが、有用な情報があまりない証明書タイプを提供します。タイプを確認しようとすると、 と表示されnet.rim.device.api.crypto.certificate.CertificateUtilities
ました。これを X509 証明書にキャストして、もう少し有用な情報にアクセスできる方法はありますか?
3 に答える
クラスnet.rim.device.api.crypto.certificate.x509.X509Certificateを確認してください
更新:
申し訳ありませんが、私の以前の答えは間違っていました: API には同じクラス名を持つ 2 つのインターフェイスがあります: net.rim.device.api.crypto.certificate.Certificate
(そこからX509Certificate
拡張) とjavax.microedition.pki.Certificate
(J2ME のもの)。後者は HttpsConnection を介して取得できるものであり、あまり役に立ちません。
したがって、X509Certificate コンストラクターに行き詰まっており、インスタンスを作成するには、最初にサーバーから証明書をダウンロードするか、アプリ リソースに含める必要があります。この質問では、サーバーから証明書をダウンロードする方法を確認できます: https://serverfault.com/q/139728/87344。ただし、これはオプションではない場合があります。
事前にダウンロードする必要はありません。これはハンドシェーク中に送信され、検証され、ハンドシェークの完了後に SSL セッションを介してアプリケーションで使用できるようになります。
定期的に WINDOWS または MICROSOFT UPDATE を実行し、手動で行う必要がないように永続的な更新に設定します。更新プログラムが適切であると判断した場合、SSL 証明書は自動的にインストールされます。この問題の背後に 2 か月間無駄に時間を費やしましたが、結果は何もありませんでした。時刻 (年、時、分) を手動で修正するか、[コントロール パネル] - [日付と時刻] - [インターネット時刻] - [今すぐ更新] の [インターネット時刻同期] を利用してください。次に、[スタート] - [Microsoft update] または [Windows update] に移動します。基本的に、この問題は日付と時刻のエラーが原因で発生します。間違った方法でも時刻を設定すると、まれにこの証明書エラーが自動的になくなるのは非常に興味深いことです。