2017-09-19 57 views
0

まあ、私はSpring Boot Securityを初めて使いました。Spring Boot Securityを使用してクライアント側で証明書の検証を無効にする方法

server:    port: 8443    ssl:      key-store-type: PKCS12      key-store: classpath: keystore.p12      key-store-password: mypass      key-alias: testkey

をこれまでのところは良い、次のように私は、サーバー上でHTTPSを有効にするには、簡単な設定を持っています。問題は、たとえば、単純なカールのように、そのサーバーのエンドポイントにアクセスしているクライアントが証明書検証の失敗を受け取ることです。私が読んだところでは、https通信はTSL(またはSSL)を介して行われ、セキュリティチャネルを有効にするにはサーバーが発行した証明書をユーザーが検証する必要があります。

私が開発しているレストAPIであるため、すべてのクライアントがエンドポイントにアクセスするために証明書を携帯する必要はありませんでした。

HTTPSを有効にしても証明書を必要としないいくつかのAPIのURL:

どのような方法私が順番に従ってください暗号化を有効にするには、httpsのままにしますが、クライアント側の証明書の検証は不要ですか?

PS:私のサービスにアクセスして回答を得ることはできますが、Javaクライアント、Python、またはカールは機能しません。

EDIT
私は、要求が安全でないにするためにオプションでクライアントを設定したくなかった私は、HTTPSを維持したかったが、彼と一緒に証明書を携帯し、クライアントを必要としませんでした。たぶん私はこれを行うことはできないので、私は間違いなく初心者なので頼んでいます。それを行う方法がない場合は、その方向の回答を可能な限りより完全にお待ちします。

+0

すでに解決策が見つかりました。クライアントを設定する必要があります。さらに詳しい情報が必要な場合は、あなたの質問を編集して、どのクライアントを使用しているかを伝えてください。 cURLについてはhttps://unix.stackexchange.com/questions/60750/does-curl-have-a-no-check-certificate-option-like-wget – dur

+0

を参照してください。私はオプションでクライアントを設定したくありませんでした。要求を安全にするために、私はhttpsを維持したが、クライアントに証明書を携帯する必要はありませんでした。多分私はこれをすることもできないので、私は尋ねています。 –

+0

あなたの質問は証明書の検証についてですが、あなたのコメントは証明書の持ち込みに関するものです。あなたの問題は何ですか?すでにわかっているように、検証を無効にすることができます。なぜクライアントは証明書を持っていると思いますか?キャッシュされたルート証明書のいずれかを使用しない場合、クライアントは証明書を持ちません。 – dur

答えて

0

これは個々のクライアントによって異なります。たとえば、ブラウザのセキュリティ警告を無視することによってこれを行います。カールの場合は、-kまたは--insecureをwget use --no-check-certificateに使用する場合は、使用しているクライアントでsslを無視する方法を調べる必要があります。これをサーバーから制御する方法はありません。その方法は、SSL/TLSの目的をすべて無効にするからです。

+0

私は@ durに言ったことを繰り返します:私は、クライアントに要求を安全にするオプションを設定したくなかったので、私はhttpsを保ちたいと思っていましたが、クライアントに証明書を持って行く必要はありませんでした。多分私はこれをすることもできないので、私は尋ねています。 これを行う方法がない場合は、その方向の回答を可能な限りより完全に待っています。 –

+0

あなたはTLSとは何か、そしてこれらのオプションが何をしているのか誤解しています。証明書を信頼できる機関に登録しないと、クライアントが安全かどうかを知る方法がありません。これらのオプションは引き続き送信を暗号化しますが、受信者は確認されません。 – pucky124

関連する問題