1-- -------------------------------------------------------------------
2-- Taken from RFC 8017, Appendix C
3-- (https://www.rfc-editor.org/rfc/rfc8017.html#appendix-C)
4
5-- ============================
6--   Basic object identifiers
7-- ============================
8
9-- The DER encoding of this in hexadecimal is:
10-- (0x)06 08
11--        2A 86 48 86 F7 0D 01 01
12--
13pkcs-1    OBJECT IDENTIFIER ::= {
14    iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1
15}
16
17--
18-- When rsaEncryption is used in an AlgorithmIdentifier,
19-- the parameters MUST be present and MUST be NULL.
20--
21rsaEncryption    OBJECT IDENTIFIER ::= { pkcs-1 1 }
22
23--
24-- When id-RSAES-OAEP is used in an AlgorithmIdentifier, the
25-- parameters MUST be present and MUST be RSAES-OAEP-params.
26--
27id-RSAES-OAEP    OBJECT IDENTIFIER ::= { pkcs-1 7 }
28
29--
30-- When id-pSpecified is used in an AlgorithmIdentifier, the
31-- parameters MUST be an OCTET STRING.
32--
33id-pSpecified    OBJECT IDENTIFIER ::= { pkcs-1 9 }
34
35--
36-- When id-RSASSA-PSS is used in an AlgorithmIdentifier, the
37-- parameters MUST be present and MUST be RSASSA-PSS-params.
38--
39id-RSASSA-PSS    OBJECT IDENTIFIER ::= { pkcs-1 10 }
40
41--
42-- When the following OIDs are used in an AlgorithmIdentifier,
43-- the parameters MUST be present and MUST be NULL.
44--
45md2WithRSAEncryption         OBJECT IDENTIFIER ::= { pkcs-1 2 }
46md5WithRSAEncryption         OBJECT IDENTIFIER ::= { pkcs-1 4 }
47sha1WithRSAEncryption        OBJECT IDENTIFIER ::= { pkcs-1 5 }
48sha224WithRSAEncryption      OBJECT IDENTIFIER ::= { pkcs-1 14 }
49sha256WithRSAEncryption      OBJECT IDENTIFIER ::= { pkcs-1 11 }
50sha384WithRSAEncryption      OBJECT IDENTIFIER ::= { pkcs-1 12 }
51sha512WithRSAEncryption      OBJECT IDENTIFIER ::= { pkcs-1 13 }
52sha512-224WithRSAEncryption  OBJECT IDENTIFIER ::= { pkcs-1 15 }
53sha512-256WithRSAEncryption  OBJECT IDENTIFIER ::= { pkcs-1 16 }
54
55--
56-- When id-mgf1 is used in an AlgorithmIdentifier, the parameters
57-- MUST be present and MUST be a HashAlgorithm, for example, sha1.
58--
59id-mgf1    OBJECT IDENTIFIER ::= { pkcs-1 8 }
60
61-- -------------------------------------------------------------------
62-- Taken from https://csrc.nist.gov/projects/computer-security-objects-register/algorithm-registration
63
64id-rsassa-pkcs1-v1_5-with-sha3-224 OBJECT IDENTIFIER ::= { sigAlgs 13 }
65id-rsassa-pkcs1-v1_5-with-sha3-256 OBJECT IDENTIFIER ::= { sigAlgs 14 }
66id-rsassa-pkcs1-v1_5-with-sha3-384 OBJECT IDENTIFIER ::= { sigAlgs 15 }
67id-rsassa-pkcs1-v1_5-with-sha3-512 OBJECT IDENTIFIER ::= { sigAlgs 16 }
68
69
70-- -------------------------------------------------------------------
71-- These OID's exist in the codebase but may need to be deprecated at some point.
72-- md5_sha1 has been omitted as it does not look like valid entry.
73
74md4WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 3 }
75
76ripemd160WithRSAEncryption    OBJECT IDENTIFIER ::= {
77    iso(1) identified-organization(3) teletrust(36) algorithm(3) signatureAlgorithm(3) rsaSignature(1) 2
78}
79
80mdc2WithRSASignature OBJECT IDENTIFIER ::= {
81    iso(1) identified-organization(3) oiw(14) secsig(3) algorithms(2) mdc2WithRSASignature(14)
82}
83