まあ、私は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を維持したかったが、彼と一緒に証明書を携帯し、クライアントを必要としませんでした。たぶん私はこれを行うことはできないので、私は間違いなく初心者なので頼んでいます。それを行う方法がない場合は、その方向の回答を可能な限りより完全にお待ちします。
すでに解決策が見つかりました。クライアントを設定する必要があります。さらに詳しい情報が必要な場合は、あなたの質問を編集して、どのクライアントを使用しているかを伝えてください。 cURLについてはhttps://unix.stackexchange.com/questions/60750/does-curl-have-a-no-check-certificate-option-like-wget – dur
を参照してください。私はオプションでクライアントを設定したくありませんでした。要求を安全にするために、私はhttpsを維持したが、クライアントに証明書を携帯する必要はありませんでした。多分私はこれをすることもできないので、私は尋ねています。 –
あなたの質問は証明書の検証についてですが、あなたのコメントは証明書の持ち込みに関するものです。あなたの問題は何ですか?すでにわかっているように、検証を無効にすることができます。なぜクライアントは証明書を持っていると思いますか?キャッシュされたルート証明書のいずれかを使用しない場合、クライアントは証明書を持ちません。 – dur