ホームページ > バックエンド開発 > Golang > Go Web サーバーで HTTPS の PEM 証明書を連結するにはどうすればよいですか?

Go Web サーバーで HTTPS の PEM 証明書を連結するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-10 14:07:02
オリジナル
526 人が閲覧しました

How to Concatenate PEM Certificates for HTTPS in Go Web Servers?

Go Web サーバーで HTTPS の PEM 証明書を連結する

Go Web サーバーに HTTPS を設定する場合、多くの場合、連結する必要があります。複数の PEM 証明書ファイル。このプロセスは、プライマリ証明書と中間証明書の両方を含む完全な証明書チェーンを作成するために不可欠です。

中間証明書の取得

通常、バンドルが提供されます。 SSL 証明書を購入するときに、

  • csr.pem (無視)
  • private-key.pem (秘密鍵)
  • Web サイトなどの PEM ファイルを作成します。 com.crt (プライマリ証明書)
  • website.com.ca-bundle (中間証明書)
  • website.com.zip (バンドルの圧縮バージョン)

証明書の連結

https://www.kaihag.com/https-and-go/ のドキュメントに従って、次の PEM ファイルを連結する必要があります。

  • website.com.ca-bundle (中間証明書)
  • website.com.crt (プライマリ証明書)

これを行うには、次のようにします。次のコマンドを使用します (ファイルが現在のディレクトリにあると仮定します):

cat website.com.ca-bundle website.com.crt > full-cert.crt
ログイン後にコピー

これにより、full-cert.crt という名前の結合された証明書ファイルが作成されます。このファイルには、中間証明書とプライマリ証明書の両方が含まれます。

Go での HTTPS のセットアップ

連結された証明書ファイルを取得したら、http.ListenAndServeTLS 関数を使用して Go で HTTPS サーバーを起動できます。コード スニペットの例を次に示します。

package main

import (
    "log"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte("Hello, HTTPS!"))
}

func main() {
    log.Printf("About to listen on 10443. Go to https://127.0.0.1:10443/")
    err := http.ListenAndServeTLS(":10443", "full-cert.crt", "private-key.pem", nil)
    log.Fatal(err)
}
ログイン後にコピー

full-cert.crt を連結された証明書ファイルの名前に置き換え、private-key.pem を秘密鍵ファイルの名前に置き換えます。プログラムを実行し、https://127.0.0.1:10443/ にアクセスして、HTTPS が正しく動作していることを確認します。

以上がGo Web サーバーで HTTPS の PEM 証明書を連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート