これが私を困惑させるものの要点です:
- AS3のSecureSocketクラスを使用して、バックエンドへのポート443でTLSソケットを確立しようとしています。
- バックエンドには、ポリシーファイル要求をポート843でリッスンして実行しているサービスがあります。(ノードに精通している場合、これはポリシーファイルhttps://github.com/3rd-Eden/FlashPolicyFileServerを提供するサーバーです)
提供されるポリシーファイルは
<?xml version="1.0"?><!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"><cross-domain-policy><allow-access-from domain="*" to-ports="*"/></cross-domain-policy>
上記のTLSソケット(ポート443)を確立しようとする小さなテストFlashスニペット(Test.swf)を作成しました。
- ロギングが有効になり、Vizzy Flash Tracer(Macの場合)を介して実行されます
- Vizzyは、インライントレースとフラッシュポリシー関連のメッセージの両方をトレースします。
結果
実行1
この実行では、組み込みのポリシーファイル要求ポート843を介してポリシーファイルをフラッシュアスクするだけです。以下は、Test.swf実行のトレースです。
フラッシュログ:
*セキュリティサンドボックス違反*
mic.test.com:443 への接続が停止しました-エラーから許可されていません:ポリシーファイルのアクセス許可がないためhttp://localhost/~mic/flash/Test.swf
、リクエスターからのtlssocket://mic.test.com:443でのリソースの要求が拒否されました。http://localhost/~mic/flash/Test.swf
ポリシーログ:
OK:ルートレベルのSWFがロードされました:
http://localhost/~mic/flash/Test.swf
OK:ポリシーファイルを検索して、tlssocket://mic.test.com:443のリソースからのデータのロードを許可します。http://localhost/~mic/flash/Test.swf
エラー:tlssocket://mic.testのリソースのリクエスト。ポリシーファイルの権限がないため、fromリクエスターによるcom:443http://localhost/~mic/flash/Test.swf
が拒否されました。
実行2
この実行では、上記のようにファイルを提供することに加えて、ポリシーファイルサーバーが別の反復用に変更され、次のxmlノードが応答に追加されます:( adobe docsによる)
この実行では、ビルドされたマスターポリシーファイルをフラッシュアスクしますポリシーファイルでポート843を要求し、crossdomain.xmlポリシーファイルを別のポートにロードします(正確にはWebサーバーから)
。crossdomain.xmlファイルは次のようになります。
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">
<!-- Policy file for xmlsocket://socks.example.com -->
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*" />
</cross-domain-policy>
以下は、Test.swfの実行のトレースです。
フラッシュログ:
*セキュリティサンドボックス違反*
mic.test.com:443 への接続が停止しました-エラーから許可されていません:ポリシーファイルのアクセス許可がないためhttp://localhost/~mic/flash/Test.swf
、リクエスターからのtlssocket://mic.test.com:443でのリソースの要求が拒否されました。http://localhost/~mic/flash/Test.swf
ポリシーログ:
OK:ルートレベルのSWFがロードされました:
http://localhost/~mic/flash/Test.swf
OK:ポリシーファイルを検索して、tlssocket://mic.test.com:443のリソースからのデータロードを承認します。OKhttp://localhost/~mic/flash/Test.swf
:ポリシーファイルが受け入れられました:https://mic.test。 com:10443 / crossdomain.xmlエラー:ポリシーファイルのアクセス許可がないため
、リクエスターからのtlssocket://mic.test.com:443でのリソースの要求が拒否されました。http://localhost/~mic/flash/Test.swf
唯一の違いは、フラッシュがポリシーファイルを受け入れると主張しているにもかかわらず、再生を拒否していることです。
私の考えがどこで間違っているかについての指針はありますか?