1

私はこのフォーラムを精査しましたが、もっともらしい答えは見つかりませんでした.Googleも役に立ちませんでした.

HTTPS (Flex RemoteObject) 経由で AMFPHP を使用する FLEX 3 アプリケーションがあります。ブラウザ クライアントの SSL 証明書がサーバーによって提供されたものではない場合、クライアントが HTTPS リクエストを作成できないようにしたいと考えています。繋がり。

誰かがこれらのプロキシ サーバーのいずれかを使用すると、Charles が独自の証明書をブラウザーに提供し、サーバーへの HTTPS 接続を通常のクライアントとして行うため、証明書エラーが発生します。そのため、サーバー側では違いはありません。

私の証明書がクライアントで使用されている場合にのみ接続を許可する方法はありますか?

4

2 に答える 2

2

SecureSockets (SDK 4.6 へのアップグレードが必要) を使用して、ブラウザーが使用している SSL 証明書の有効性を確認できました。

デフォルトの動作では、不正な証明書 (ブラウザの証明書の警告に類似) が原因で SecureSockets が失敗します。これにより、Adobe ドキュメントのサンプル コードを使用して、チェックを非常に簡単に作成できます。

private var secureSocket:SecureSocket = new SecureSocket();

    public function SecureSocketExample()
    {
        secureSocket.addEventListener( Event.CONNECT, onConnect )
        secureSocket.addEventListener( IOErrorEvent.IO_ERROR, onError );

        try
        {
            secureSocket.connect( "ip address here", 443 );
        }
        catch ( error:Error )
        {
            trace ( error.toString() );
        }
    }

ドクターはこちら

これを creationComplete リスナーに追加するだけで、ユーザーが安全でない証明書や中間者に従っていないことを確認できます。アプリケーションの残りの通信は、「通常の」SSL AMF チャネルを介して行うことができます。

于 2013-01-08T15:07:39.233 に答える
1

一般的なアプローチの 1 つは、Strict Transport Securityを使用することです。

于 2013-01-07T21:18:10.917 に答える