1 -- Copyright 2022 The OpenSSL Project Authors. All Rights Reserved.
3 -- Licensed under the Apache License 2.0 (the "License"). You may not use
4 -- this file except in compliance with the License. You can obtain a copy
5 -- in the file LICENSE in the source distribution or at
6 -- https://www.openssl.org/source/license.html
8 -- -------------------------------------------------------------------
9 -- Taken from RFC 3279, 3 ASN.1 Module
10 -- (https://www.rfc-editor.org/rfc/rfc3279.html#section-3)
12 ansi-X9-62 OBJECT IDENTIFIER ::= {
13 iso(1) member-body(2) us(840) 10045 }
15 -- Arc for ECDSA signature OIDS
17 id-ecSigType OBJECT IDENTIFIER ::= { ansi-X9-62 signatures(4) }
19 -- OID for ECDSA signatures with SHA-1
21 ecdsa-with-SHA1 OBJECT IDENTIFIER ::= { id-ecSigType 1 }
23 id-publicKeyType OBJECT IDENTIFIER ::= { ansi-X9-62 keyType(2) }
25 id-ecPublicKey OBJECT IDENTIFIER ::= { id-publicKeyType 1 }
27 -- Named Elliptic Curves in ANSI X9.62.
29 ellipticCurve OBJECT IDENTIFIER ::= { ansi-X9-62 curves(3) }
31 c-TwoCurve OBJECT IDENTIFIER ::= {
32 ellipticCurve characteristicTwo(0) }
34 c2pnb163v1 OBJECT IDENTIFIER ::= { c-TwoCurve 1 }
35 c2pnb163v2 OBJECT IDENTIFIER ::= { c-TwoCurve 2 }
36 c2pnb163v3 OBJECT IDENTIFIER ::= { c-TwoCurve 3 }
37 c2pnb176w1 OBJECT IDENTIFIER ::= { c-TwoCurve 4 }
38 c2tnb191v1 OBJECT IDENTIFIER ::= { c-TwoCurve 5 }
39 c2tnb191v2 OBJECT IDENTIFIER ::= { c-TwoCurve 6 }
40 c2tnb191v3 OBJECT IDENTIFIER ::= { c-TwoCurve 7 }
41 c2onb191v4 OBJECT IDENTIFIER ::= { c-TwoCurve 8 }
42 c2onb191v5 OBJECT IDENTIFIER ::= { c-TwoCurve 9 }
43 c2pnb208w1 OBJECT IDENTIFIER ::= { c-TwoCurve 10 }
44 c2tnb239v1 OBJECT IDENTIFIER ::= { c-TwoCurve 11 }
45 c2tnb239v2 OBJECT IDENTIFIER ::= { c-TwoCurve 12 }
46 c2tnb239v3 OBJECT IDENTIFIER ::= { c-TwoCurve 13 }
47 c2onb239v4 OBJECT IDENTIFIER ::= { c-TwoCurve 14 }
48 c2onb239v5 OBJECT IDENTIFIER ::= { c-TwoCurve 15 }
49 c2pnb272w1 OBJECT IDENTIFIER ::= { c-TwoCurve 16 }
50 c2pnb304w1 OBJECT IDENTIFIER ::= { c-TwoCurve 17 }
51 c2tnb359v1 OBJECT IDENTIFIER ::= { c-TwoCurve 18 }
52 c2pnb368w1 OBJECT IDENTIFIER ::= { c-TwoCurve 19 }
53 c2tnb431r1 OBJECT IDENTIFIER ::= { c-TwoCurve 20 }
55 primeCurve OBJECT IDENTIFIER ::= { ellipticCurve prime(1) }
57 prime192v1 OBJECT IDENTIFIER ::= { primeCurve 1 }
58 prime192v2 OBJECT IDENTIFIER ::= { primeCurve 2 }
59 prime192v3 OBJECT IDENTIFIER ::= { primeCurve 3 }
60 prime239v1 OBJECT IDENTIFIER ::= { primeCurve 4 }
61 prime239v2 OBJECT IDENTIFIER ::= { primeCurve 5 }
62 prime239v3 OBJECT IDENTIFIER ::= { primeCurve 6 }
63 prime256v1 OBJECT IDENTIFIER ::= { primeCurve 7 }
65 -- -------------------------------------------------------------------
66 -- Taken from RFC 5758, 3.2. ECDSA Signature Algorithm
67 -- (https://www.rfc-editor.org/rfc/rfc5758.html#section-3.2)
69 ecdsa-with-SHA224 OBJECT IDENTIFIER ::= { iso(1) member-body(2)
70 us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) 1 }
72 ecdsa-with-SHA256 OBJECT IDENTIFIER ::= { iso(1) member-body(2)
73 us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) 2 }
75 ecdsa-with-SHA384 OBJECT IDENTIFIER ::= { iso(1) member-body(2)
76 us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) 3 }
78 ecdsa-with-SHA512 OBJECT IDENTIFIER ::= { iso(1) member-body(2)
79 us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) 4 }
81 -- -------------------------------------------------------------------
82 -- Taken from https://csrc.nist.gov/projects/computer-security-objects-register/algorithm-registration
84 sigAlgs OBJECT IDENTIFIER ::= { 2 16 840 1 101 3 4 3 }
86 id-ecdsa-with-sha3-224 OBJECT IDENTIFIER ::= { sigAlgs 9 }
87 id-ecdsa-with-sha3-256 OBJECT IDENTIFIER ::= { sigAlgs 10 }
88 id-ecdsa-with-sha3-384 OBJECT IDENTIFIER ::= { sigAlgs 11 }
89 id-ecdsa-with-sha3-512 OBJECT IDENTIFIER ::= { sigAlgs 12 }