#8 XML Signatures of messages

已关闭
stan4 年之前创建 · 3 条评论

In order to add XML Signatures to the messages, the following conditions must be met:

  1. XML messages should be converted to their C14n canonical form. Given that openADR does not use any advanced XML features, I propose that we canonicalize the form in the templates as much as possible.
  2. Add an identifier like id="signedObject" to the opening tag of the oadrSignedObject resource
  3. Add a new resource that contains a ReplayProtect property with the current timestamp and a random nonce
  4. Calculate the digest of the resource signedObject
  5. Calculate the digest of the resource prop that contains the ReplayProtect element
  6. Calculate the signature value, which is the digest value signed by the private key
  7. Add the key info, which is the public key
  8. Prepend the <Signature> element to the contents of <oadrPayload>
In order to add XML Signatures to the messages, the following conditions must be met: 1. XML messages should be converted to their C14n canonical form. Given that openADR does not use any advanced XML features, I propose that we canonicalize the form in the templates as much as possible. 2. Add an identifier like `id="signedObject"` to the opening tag of the oadrSignedObject resource 3. Add a new resource that contains a ReplayProtect property with the current timestamp and a random nonce 4. Calculate the digest of the resource `signedObject` 5. Calculate the digest of the resource `prop` that contains the ReplayProtect element 6. Calculate the signature value, which is the digest value signed by the private key 7. Add the key info, which is the public key 8. Prepend the `<Signature>` element to the contents of `<oadrPayload>`
Stan Janssen 评论于 4 年之前
所有者

The canonicalized XML form represents empty tags as an explicite open and close tag, whereas we were using the compact respresentation of those tags:

<venID />

should become

<venID></venID>
The canonicalized XML form represents empty tags as an explicite open and close tag, whereas we were using the compact respresentation of those tags: ```XML <venID /> ``` should become ```XML <venID></venID> ```
Stan Janssen 评论于 4 年之前
所有者

I will use xml.etree.ElementTree.canonicalize just before sending each message to canonicalize everything.

I will use `xml.etree.ElementTree.canonicalize` just before sending each message to canonicalize everything.
Stan Janssen 评论于 4 年之前
所有者

This is closed in 4ba2900cc1.

This is closed in 4ba2900cc1.
stan4 年之前 关闭
登录 并参与到对话中。
未选择标签
未选择里程碑
未指派成员
1 名参与者
正在加载...
取消
保存
这个人很懒,什么都没留下。