これは、一般的な証明書のピン留めに関する問題ではありません。
Microsoft Azure SDK for iOS を利用する iOS アプリを作成しています。証明書のピン留めが実装されていないため、完全な SDK をダウンロードし、それを変更して独自のピン留めを追加しています。
OWASP によって提供されたサンプル コードに従っています。ターミナルで次のコードを実行するように求められます。
$ echo "Get HTTP/1.0" | openssl s_client -showcerts -connect www.random.org:443
{url}.azurewebsites.net
for を交換して、それを実行しましたwww.random.org
。いくつかの証明書がリストされた、適切な出力が返されます。
OWASP コードに基づいて、これを使用することになっているようです。
Certificate chain
0 s:/CN=*.azurewebsites.net
i:/C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/OU=Microsoft IT/CN=Microsoft IT SSL SHA2
これについて私が懸念しているのCN
は、 がワイルドカード用であるということ*.azurewebsites.net
です。これは、この証明書を使用していて、誰かが別の Azure Web アプリを利用して中間者攻撃を試みた場合、その証明書のピン留めが成功し、アプリを保護できないということですか?
たとえば、アプリが にabc.azurewebsites.net
あり、中間者攻撃が から実行されたxyz.azurewebsites.net
場合、アプリはリクエストをブロックすることを認識しますか?