3

Adobe AIR で RESTful Web サービスを使用しようとしています。このサービスは認証にクライアント側の証明書を使用するため、URLRequestこの RESTful サービスに接続するときに AIR/Actionscript が使用する証明書と秘密鍵を設定する必要があります。

Adobe AIR で証明書/秘密鍵を設定できますか?

Linux 上の AIR 1.5 の SSL 証明書ストアへの追加に関する Adob​​eのドキュメントをいくつか見つけましたが、プラットフォームに依存しないソリューションを期待していました。

4

3 に答える 3

5

私はこれを行う方法を見つけることができませんでした (まあ、とにかくまだです)。

アドビは、基盤となる OS 証明書ストアを使用します。Windows では、これは IE (および Google Chrome) が使用するものと同じことを意味します。

私が思いついた唯一の解決策は、Linuxでは、含まれているリンクの指示に従い、Windowsでは、ユーザーにIE経由でクライアント証明書をダウンロード/インストールさせることです(サーバールートCAも同様です組織の自己署名証明書がある場合)、Air はそれらの証明書を使用します。

これにはいくつかの煩わしさが伴います -

  1. ユーザーがルート CA をインストールしない限り、サーバーのセキュリティ証明書を確認するよう求められます。
  2. ユーザーは、サーバーへのすべての要求でクライアント証明書が使用されていることを確認するように求められます (大量のデータ要求を行うビジネス アプリケーションでは、これにより使用できなくなります)。これを回避するには、私が見つけた唯一の方法は、ユーザーに IE を起動してもらい、有効にすることTools -> Internet Options -> Security -> Custom Level -> Miscellaneous -> "Don't prompt for client certificate selection when no certificate or only one certificate exists"です。これにより、一定のリクエストが停止します(もちろん、複数の証明書がある場合は機能しません。
  3. ただし、ユーザーが IE でTools -> Internet Options -> Advanced -> Security -> "Check for service certificate revocation*"これにアクセスしてチェックを外さない限り、Adobe Air は引き続き失敗します。これはおそらく、失効をサポートしていないサーバーの自己署名サーバー証明書でのみ必要ですが、よくわかりません。

とにかく、ご覧のとおり、すべてがひどい混乱です。

于 2010-05-16T22:20:39.593 に答える
0

そのため、ほぼ 1 年後 ... オープンソース プロジェクトの Forge を使用して、JavaScript で実行できるようになりました。

http://github.com/digitalbazaar/forge/blob/master/README

WebID のデモでは、現在 Forge を使用して、認証メカニズムとしてクライアント側の証明書を提供しています。これは単なるデモであるため、SSL 証明書は自己署名されています。

https://webid.digitalbazaar.com/manage/

https://payswarm.com/webid-demo/

于 2010-10-25T21:17:06.960 に答える
0

このためのクラスがあります: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/SecureSocket.html

addBinaryChainBuildingCertificate メソッドがこのタスクを完了できるはずです。

于 2013-03-28T14:46:23.533 に答える