Elasticsearch Searchguardの証明書を作成しようとしています。 1つの要件は、証明書にSANにoid:1.2.3.4.5.5
を含める必要があるということです。私はその証明書を生成するためにGOを使用しています。いくつか試行錯誤した結果、[]byte{0x88, 0x05, 0x2A, 0x03, 0x04, 0x05, 0x05}
をRaw ASN.1バイトとして使用すると、これはSAN内のoid:1.2.3.4.5.5
になります。これらのバイトがどのように値oid:1.2.3.4.5.5
を表すかを理解したいと思います。私はthisを読んだが、私はまだ混乱している。この[]バイトがoid:1.2.3.4.5.5
を表していることを理解できますか?DERバイトを解析するには?
答えて
ほとんどHow does ASN.1 encode an object identifier?
(X.509 = PKIX)SAN拡張の値の符号化をだますこととして、RFC5280で定義されている。この選択の
SubjectAltName ::= GeneralNames
GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
GeneralName ::= CHOICE { // tags implicit
otherName [0] AnotherName,
rfc822Name [1] IA5String,
dNSName [2] IA5String,
x400Address [3] ORAddress,
directoryName [4] Name,
ediPartyName [5] EDIPartyName,
uniformResourceIdentifier [6] IA5String,
iPAddress [7] OCTET STRING,
registeredID [8] OBJECT IDENTIFIER }
、最初のオクテット0x88は、タグ値でありますコンテキスト固有の#8(登録済みIDを意味する)であり、2番目のオクテット0x05は0x2A 0x03 0x04 0x05 0x05としてエンコードされた値の長さです。
BER符号化をこの値ので、それはKaliski文書にオブジェクト識別子の下でエンコーディングのセクションを見てデコードするために、オブジェクト識別子です。プリミティブ。
最初のオクテットは、値40 *の値1 +値2を有する:コンテンツのオクテットは 値1は、...、 完全なオブジェクト識別子の部品の整数値を表す値Nここで、以下の通りです。 value1は0,1,2の値に限定されているため、value2は であり、value1が0または1の場合は0〜39に制限され、 X.208によれば、nは常に2以上です。)
次のオクテットがあれば、値3、...、valuenをエンコードします。各値は可能な限り 桁の数字と、 を除いて各オクテットの最上位ビットが "1"に設定されたコード化された基底128、最上位桁からなります。
残りオクテットのすべてがそれらのmost-を持たない第1の値のオクテット0x2Aは小数42及び* 1 42 = 40 + 2であるので、OIDの最初の2つの成分は1と2であります3 4 5 5.コンポーネント1 2 3 4 5 5で構成されるOIDは、通常の短縮表記1.2.3.4.5.5です(しかし、Kaliskiに示されているように他の同等の表記があります) 。
ちなみに、そのOIDは、ISO3166数値コード3の国のメンバー体の下になければならず、そのような国は存在しないため、無効です。
- 1. 10進文字列をバイトに解析する
- 2. このバイトを解析する方法を短くする
- 3. バイト配列のUnicodeの解析
- 4. DERエンコーディングルールを使用してASN.1デコーダを使用してデータを解析する方法は?
- 5. ビットマップヘッダのバイトを解析してファイルポインタで保存する
- 6. C#でビット配列をバイト配列に解析する方法は?
- 7. ZIPバイト[]を解凍してバイトを解凍する
- 8. PHPでバイナリファイルのバイトを解析し、グループをプレースホルダに変換する
- 9. C++でPEMをDERに変換する
- 10. 解析/解析とは何ですか?
- 11. ログファイルをJSONに解析するには
- 12. XMLをPHPに解析するには?
- 13. 整数を2バイトに分解する
- 14. AutoHotKeyでHTMLを解析するには?
- 15. このxmlを解析するには?
- 16. バッチWebページを解析するには?
- 17. (Pythonで)コードを解析するには?
- 18. LLVM IRを解析するには
- 19. ブラウザでYAMLを解析するには?
- 20. ブラックベリーでXMLを解析するには?
- 21. エリクサーのDateTimeを解析するには?
- 22. ルアでjsonを解析するには?
- 23. PHPでHTMLを解析するには?
- 24. json.org.XMLTokenizerでXMLを解析するには?
- 25. ブラウザでmpeg2tsを解析するには?
- 26. PhoneGapでJSONを解析するには?
- 27. javaでテキストファイルを解析するには?
- 28. プログレッシブJPGを解析するには
- 29. C++でコマンドツリーを解析するには?
- 30. JQueryでJSONを解析するには
@ dave_thompson_085の説明に感謝します! – codefx