openscreenprotocol icon indicating copy to clipboard operation
openscreenprotocol copied to clipboard

Clarify the supported signature algorithms for certificates

Open sleevi opened this issue 4 years ago • 0 comments

Separate from #277, the support for signature algorithms currently states: https://github.com/w3c/openscreenprotocol/blob/5488c7b7cce9c9c64ba97348a8deb0c6c50eb9bb/index.bs#L367-L370

However, this is not a defined X.509/PKIX signature algorithm. It's likely these names were derived from RFC 8446, Section 4.2.3's SignatureScheme registry, but those don't directly translate here.

Further, experience has shown that implementors who have attempted to implement ECDSA within certificates have, at times, incorrectly encoded the subjectPublicKeyInfo/signatureAlgorithm, through incorrect interpretation of the algorithm parameters, or through novel (problematic) attempts at representing the curve.

In more modern certificate profiles, an effort has been made to explicitly specify the encoded byte representation, namely:

  • secp256r1_sha256 = 301306072a8648ce3d020106082a8648ce3d030107 for the public key AlgorithmIdentifier, 300a06082a8648ce3d040302 for the signature AlgorithmIdentifier
  • secp384r1_sha384 = 301006072a8648ce3d020106052b81040022 for the public key AlgorithmIdentifier, 300a06082a8648ce3d040303 for the signature AlgorithmIdentifier

sleevi avatar Apr 06 '21 18:04 sleevi