0

HTTPS上で実行されるOAuth2APIを公開しています。OAuth2はHTTPSのセキュリティに依存しているため(独自の署名は行いません)、開発者向けドキュメントにメモを追加して、クライアントアプリケーションでssl証明書を検証するように開発者に促しています。

一部のアプリでは、crtファイルが公開されているか、クライアントに含まれていることに気付きました:https ://github.com/stripe/stripe-ruby/tree/master/lib/data

これは、正しい証明書を使用していることを確認するためだけのものだと思います(システムにインストールされている証明書は使用していません)。もしそうなら、このcrtファイルをAPIページで開発者に公開するのは良い考えですか?このファイルを生成する簡単なコマンド/方法は何ですか?

ありがとう!

4

1 に答える 1

2

この方法で証明書を公開するとき、彼はクライアントに証明書のバイナリ比較を行うことを勧めます。つまり、対応する標準で定義された方法で証明書チェーンを構築して検証するのではなく、提示された証明書と提示された証明書を比較するだけで証明書を検証します。クライアントに保存されます。

このメソッドはいくつかの点で壊れています。

  1. バイナリ比較では、証明書が取り消されたことをクライアントに知らせません
  2. バイナリ比較では、サーバー証明書を変更するには、新しい証明書がそこに含まれるようにすべてのクライアントを更新する必要があります。アップグレードに失敗すると、接続できなくなります。

したがって、証明書を含めてそのような証明書を「単純に」使用することは、サーバーの所有者にとってもクライアントにとっても意味がありません。

バイナリ比較が適用される唯一のケースは、自己署名証明書が使用される場合です (この場合、チェーンの構築と検証は機能しません)。ただし、自己署名証明書は、いずれの場合もお勧めできません (上記の理由およびその他の理由により)。

于 2012-08-31T08:02:41.657 に答える