ホームページ >バックエンド開発 >Golang >tls.X509KeyPair で「証明書入力に PEM データが見つかりません」エラーが表示される

tls.X509KeyPair で「証明書入力に PEM データが見つかりません」エラーが表示される

WBOY
WBOY転載
2024-02-05 23:00:081346ブラウズ

tls.X509KeyPair 弹出“无法在证书输入中找到任何 PEM 数据”错误

質問内容

golang x509パッケージを通じてhttpsサーバーのTLS証明書を作成しようとしています

このエラーが発生しました

リーリー

少し調べた結果、次のように証明書を作成しました

リーリー

以下のようなエラーが表示されます

リーリー

pem.encodetomemoryの後にデコードしてみます

pem.type は正しいですが、変数 "publiccert" がゼロです。証明書の先頭に \n を追加しようとしましたが、何も起こりませんでした。証明書自体がゼロではありません。誰か助けていただけますか。 p>

TLS を機能させるにはどうすればよいですか? ? ?


正解


このコードにはいくつかの問題があります

リーリー

この段階で publiccert の内容を確認すると期待値が表示されます。ただし、次のステートメントは publiccert を単純にオーバーライドします:

リーリー

これは、このステートメントの後の publiccert を調べることで確認できます。 記載通り publiccert データは実際の証明書の後に表示されます。

これは

である必要があります リーリー

この修正されたステートメントの後で publiccert の内容を再度確認すると、期待値が表示されます。

リーリー

これにより、期待される値が privitkey に取得されます。ただし、publiccertout の一部にすぎず、out がアクションを変更したため、変更されます。したがって、out には、証明書の先頭ではなく先頭に privitkey が含まれるようになります。これは、publiccert の値に反映されます。

bytes.buffer.bytes

のドキュメントも参照してください。

Slicing は、次のバッファ変更 までのみ有効です (つまり、次の読み取り、書き込み、リセット、または切り捨てメソッドが呼び出される前にのみ有効です)

つまり、既存のバッファをリセットするだけではありません

リーリー

privitkey 用の新しいバッファを作成し、publiccert

用の既存のバッファを保持することをお勧めします。 リーリー

以上がtls.X509KeyPair で「証明書入力に PEM データが見つかりません」エラーが表示されるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。