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