2017-01-31 22 views

答えて

0

これは、あなたが実際に求めているものに応じて、2つの異なる方向に行くことができます。

リクエストをサーバー証明書を持たないでホストする方法を尋ねるなら、それは不可能です。 httpsリクエストは、SSL/TLSによって接続が保護されていることを意味します。

証明書を持っているクライアントを必要とせずにhttps要求をホストする方法を求めているならば、それはまた別の問題だし、実際にhttp.Serverのデフォルトの動作です。実際にこれらの証明書を要求するには、実際にhttps.ServerフィールドをClientAuth(たとえば、http.RequireAndVerifyClientCert)に設定する必要があります。このフィールドを設定しない場合、デフォルト値はhttp.NoClientCertで、証明書なしのクライアント接続が許可され、証明書が提示されても証明書は検証されません。

+0

返事をありがとう、サーバが証明書を検証しない場合でも、それでも 'cert'と' key'ファイルを生成する必要があります。 –

+0

クライアントは、証明書をまったく提供する必要はありません。 _server_には有効なcertファイルが必要ですが、 'http.Server.ClientAuth'フィールドを設定しない限り、クライアントはアクセスしません。 – Kaedys

+0

それは意味がある、ありがとう –

0

HttpsリクエストではSSL証明書が必要です。自己署名証明書を作成することはできますが、運用準備が完了しているサーバーであれば、実際の有効な証明書を取得する必要があります。自己署名証明書を作成する

わずか1方法:https://devcenter.heroku.com/articles/ssl-certificate-self

+0

彼はクライアント証明書なしでSSLについて質問しているようです(実際にはデフォルト動作です)。サーバー証明書なしではSSLではありません(不可能)。 – Kaedys

+0

ああ - 彼は自分が誰のために実装しているのかという 'クライアント'として読んでいます。あなたはまったく正しい@Kaedys – lplatz

関連する問題