ProxyCertInfo拡張とは
ProxyCertInfo拡張の意味するところは、代理証明書が、正しい代理証明書かどうかを確認するための情報です。細かいことは、今回はC#とBouncy Castleのお勉強中なのでスルーしましょう。
ProxyCertInfo拡張のBNF記法(抜粋)は以下の通りです。
ProxyCertInfo ::= SEQUENCE { pCPathLenConstraint INTEGER (0..MAX) OPTIONAL, proxyPolicy ProxyPolicy } ProxyPolicy ::= SEQUENCE { policyLanguage OBJECT IDENTIFIER, policy OCTET STRING OPTIONAL }
ここでは、
- ProxyCertInfo拡張はINTEGERとproxyPolicy拡張で構成されています。
- proxyPolicy拡張とはOBJECT IDENTIFIERとOCTET STRINGで構成されています。
ぐらいを読み取れればOKです。
OPTIONALとは、このデータが入っていない場合があることを示しています。つまり実装するときは、入ってないことも考慮する必要があります。まぁ、こんなデータが入るんだなぁ、ということで納得してください。ちなみに具体的なデータは以下の感じになります。
30 16 02 01 00 30 11 06 0....0.. 08 2b 06 01 05 05 07 15 .+...... 00 04 05 42 43 43 53 32 ...BCCS2
ProxyCertInfo拡張概念図にて、ProxyCertInfo拡張の概要と具体的データの対応を示しています。この中には「pCPathLenConstraint(INTEGER(02 01 00))」と、「ProxyPolicyデータ」(policyLanguageが「30 11 06 08 2b 06 01 05 05 07 15 00」、policyが「04 05 42 43 43 53 32」のデータ)が入っています。
具体的目標としては、上記を生成、および解析できればよいことになります。