CSRをプログラムで作成しようとしています。ASN.1、RFC 2986、X.509 について読みました。
を使用して作成されたいくつかの DER エンコードされた CSR ファイルも手動で解析しましOpenSSL
た。
いくつかのことを除いて、すべてが明確に見えます。
公開鍵部分には
8D 00 30 81 89 02 81 81
、BIT STRING コンテンツの前 (および の後03 81
) の次のバイトが含まれます。これは何ですか?DER でエンコードされたすべての CSR ファイルにそれらが含まれていることに気付きました。RFCでそれらについて何も見つけられませんでした。署名部分には、署名内容の前で の後に次の不明なバイトが含まれています
03 81
。私が理解しているように、この部分には BIT STRING の最後のオクテットに関する情報が含まれています (最後のバイトの実際のバイト数)。しかし、これらのバイトをデコードする方法がわかりません。たとえば、署名は次のようになります。
03 81 81 00 64 12 ... 24 B1 28
はビット文字列03h
形式、81h
ビット文字列の長さ64 12 ... 24 B1 28
、署名です (ただし、長さは 80h です)。の部分がわかりません81 00
。
前もって感謝します。