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