openscreenprotocol
openscreenprotocol copied to clipboard
Clarify the supported signature algorithms for certificates
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=301306072a8648ce3d020106082a8648ce3d030107for the public keyAlgorithmIdentifier,300a06082a8648ce3d040302for the signatureAlgorithmIdentifiersecp384r1_sha384=301006072a8648ce3d020106052b81040022for the public keyAlgorithmIdentifier,300a06082a8648ce3d040303for the signatureAlgorithmIdentifier