自堕落な技術者のヰキ(公開版) - AdES/CAdES,CMS,ESSの属性一覧
人知れず別館の方でCAdES長期署名フォーマットで使われる属性の一覧表を作っていました。よかったら使ってやってください。
・自堕落な技術者のヰキ:CAdES,CMS,ESSの属性一覧
・http://www9.atwiki.jp/kurushima/pages/67.html
CAdESについて
(1)この属性のOIDなんだったっけ?とか
(2)どこで定義されているんだっけ?とか
(3)同じ属性を何個も置いていいんだっけ?とか
(4)SET OF AttributeValuesの中でAttributeValues幾ついれていいの?
(5)この属性は署名属性?非署名属性?
なんてことがわからなくなった時に使うといいかな、と思います。
表を観ればわかるようにAttributeやAttributeValueの個数制限についてはCMSでは割合厳密に規定されているんですがCAdESの方では結構曖昧でまずいなぁ、、、と思っています。
ちなみにAttributeやAttributeValueの定義はこんな感じです。
例えば、署名属性群SignedAttributesの中で例えばSigningTimeのAttributeを幾つも付けてしまうとか、一つのSigningTime Attributeの中のattrValuesの中で幾つもAttributeValuesを置いてしまうとか可能性はあるわけです。(SigningTimeについてはどちらも1つまでに制限されます)
ASN.1 の 'SET OF' 構造がこれまた厄介で、DERの場合には要素をオクテットで昇順ソートしたものになりますが、BERの場合にはソートされません。SignedAttributesはDERでエンコードされますが、UnsignedAttributesはBERでソートしないものでも構いません。
ですから非署名属性の SET OF Attributesの要素数が2つ以上あるとCAdESではちょっと厄介なことになるのです。
CAdESの仕様ではこの辺を今後明記しないといけません。
人知れず別館の方でCAdES長期署名フォーマットで使われる属性の一覧表を作っていました。よかったら使ってやってください。
・自堕落な技術者のヰキ:CAdES,CMS,ESSの属性一覧
・http://www9.atwiki.jp/kurushima/pages/67.html
CAdESについて
(1)この属性のOIDなんだったっけ?とか
(2)どこで定義されているんだっけ?とか
(3)同じ属性を何個も置いていいんだっけ?とか
(4)SET OF AttributeValuesの中でAttributeValues幾ついれていいの?
(5)この属性は署名属性?非署名属性?
なんてことがわからなくなった時に使うといいかな、と思います。
表を観ればわかるようにAttributeやAttributeValueの個数制限についてはCMSでは割合厳密に規定されているんですがCAdESの方では結構曖昧でまずいなぁ、、、と思っています。
ちなみにAttributeやAttributeValueの定義はこんな感じです。
RFC 3852 CMS 5.3 SignerInfo Type
SignedAttributes ::= SET SIZE (1..MAX) OF Attribute
UnsignedAttributes ::= SET SIZE (1..MAX) OF Attribute
Attribute ::= SEQUENCE {
attrType OBJECT IDENTIFIER,
attrValues SET OF AttributeValue }
例えば、署名属性群SignedAttributesの中で例えばSigningTimeのAttributeを幾つも付けてしまうとか、一つのSigningTime Attributeの中のattrValuesの中で幾つもAttributeValuesを置いてしまうとか可能性はあるわけです。(SigningTimeについてはどちらも1つまでに制限されます)
ASN.1 の 'SET OF' 構造がこれまた厄介で、DERの場合には要素をオクテットで昇順ソートしたものになりますが、BERの場合にはソートされません。SignedAttributesはDERでエンコードされますが、UnsignedAttributesはBERでソートしないものでも構いません。
ですから非署名属性の SET OF Attributesの要素数が2つ以上あるとCAdESではちょっと厄介なことになるのです。
CAdESの仕様ではこの辺を今後明記しないといけません。