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