1 /* 2 * WARNING: do not edit! 3 * Generated by Makefile from providers/common/include/prov/der_rsa.h.in 4 * 5 * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. 6 * 7 * Licensed under the Apache License 2.0 (the "License"). You may not use 8 * this file except in compliance with the License. You can obtain a copy 9 * in the file LICENSE in the source distribution or at 10 * https://www.openssl.org/source/license.html 11 */ 12 13 #include "crypto/rsa.h" 14 #include "internal/der.h" 15 16 /* Well known OIDs precompiled */ 17 18 /* 19 * hashAlgs OBJECT IDENTIFIER ::= { nistAlgorithms 2 } 20 */ 21 #define DER_OID_V_hashAlgs DER_P_OBJECT, 8, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02 22 #define DER_OID_SZ_hashAlgs 10 23 extern const unsigned char ossl_der_oid_hashAlgs[DER_OID_SZ_hashAlgs]; 24 25 /* 26 * rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 } 27 */ 28 #define DER_OID_V_rsaEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01 29 #define DER_OID_SZ_rsaEncryption 11 30 extern const unsigned char ossl_der_oid_rsaEncryption[DER_OID_SZ_rsaEncryption]; 31 32 /* 33 * id-RSAES-OAEP OBJECT IDENTIFIER ::= { pkcs-1 7 } 34 */ 35 #define DER_OID_V_id_RSAES_OAEP DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x07 36 #define DER_OID_SZ_id_RSAES_OAEP 11 37 extern const unsigned char ossl_der_oid_id_RSAES_OAEP[DER_OID_SZ_id_RSAES_OAEP]; 38 39 /* 40 * id-pSpecified OBJECT IDENTIFIER ::= { pkcs-1 9 } 41 */ 42 #define DER_OID_V_id_pSpecified DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x09 43 #define DER_OID_SZ_id_pSpecified 11 44 extern const unsigned char ossl_der_oid_id_pSpecified[DER_OID_SZ_id_pSpecified]; 45 46 /* 47 * id-RSASSA-PSS OBJECT IDENTIFIER ::= { pkcs-1 10 } 48 */ 49 #define DER_OID_V_id_RSASSA_PSS DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0A 50 #define DER_OID_SZ_id_RSASSA_PSS 11 51 extern const unsigned char ossl_der_oid_id_RSASSA_PSS[DER_OID_SZ_id_RSASSA_PSS]; 52 53 /* 54 * md2WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 2 } 55 */ 56 #define DER_OID_V_md2WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x02 57 #define DER_OID_SZ_md2WithRSAEncryption 11 58 extern const unsigned char ossl_der_oid_md2WithRSAEncryption[DER_OID_SZ_md2WithRSAEncryption]; 59 60 /* 61 * md5WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 4 } 62 */ 63 #define DER_OID_V_md5WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x04 64 #define DER_OID_SZ_md5WithRSAEncryption 11 65 extern const unsigned char ossl_der_oid_md5WithRSAEncryption[DER_OID_SZ_md5WithRSAEncryption]; 66 67 /* 68 * sha1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 } 69 */ 70 #define DER_OID_V_sha1WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05 71 #define DER_OID_SZ_sha1WithRSAEncryption 11 72 extern const unsigned char ossl_der_oid_sha1WithRSAEncryption[DER_OID_SZ_sha1WithRSAEncryption]; 73 74 /* 75 * sha224WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 14 } 76 */ 77 #define DER_OID_V_sha224WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0E 78 #define DER_OID_SZ_sha224WithRSAEncryption 11 79 extern const unsigned char ossl_der_oid_sha224WithRSAEncryption[DER_OID_SZ_sha224WithRSAEncryption]; 80 81 /* 82 * sha256WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 11 } 83 */ 84 #define DER_OID_V_sha256WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B 85 #define DER_OID_SZ_sha256WithRSAEncryption 11 86 extern const unsigned char ossl_der_oid_sha256WithRSAEncryption[DER_OID_SZ_sha256WithRSAEncryption]; 87 88 /* 89 * sha384WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 12 } 90 */ 91 #define DER_OID_V_sha384WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0C 92 #define DER_OID_SZ_sha384WithRSAEncryption 11 93 extern const unsigned char ossl_der_oid_sha384WithRSAEncryption[DER_OID_SZ_sha384WithRSAEncryption]; 94 95 /* 96 * sha512WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 13 } 97 */ 98 #define DER_OID_V_sha512WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0D 99 #define DER_OID_SZ_sha512WithRSAEncryption 11 100 extern const unsigned char ossl_der_oid_sha512WithRSAEncryption[DER_OID_SZ_sha512WithRSAEncryption]; 101 102 /* 103 * sha512-224WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 15 } 104 */ 105 #define DER_OID_V_sha512_224WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0F 106 #define DER_OID_SZ_sha512_224WithRSAEncryption 11 107 extern const unsigned char ossl_der_oid_sha512_224WithRSAEncryption[DER_OID_SZ_sha512_224WithRSAEncryption]; 108 109 /* 110 * sha512-256WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 16 } 111 */ 112 #define DER_OID_V_sha512_256WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x10 113 #define DER_OID_SZ_sha512_256WithRSAEncryption 11 114 extern const unsigned char ossl_der_oid_sha512_256WithRSAEncryption[DER_OID_SZ_sha512_256WithRSAEncryption]; 115 116 /* 117 * id-mgf1 OBJECT IDENTIFIER ::= { pkcs-1 8 } 118 */ 119 #define DER_OID_V_id_mgf1 DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x08 120 #define DER_OID_SZ_id_mgf1 11 121 extern const unsigned char ossl_der_oid_id_mgf1[DER_OID_SZ_id_mgf1]; 122 123 /* 124 * id-rsassa-pkcs1-v1_5-with-sha3-224 OBJECT IDENTIFIER ::= { sigAlgs 13 } 125 */ 126 #define DER_OID_V_id_rsassa_pkcs1_v1_5_with_sha3_224 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x0D 127 #define DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_224 11 128 extern const unsigned char ossl_der_oid_id_rsassa_pkcs1_v1_5_with_sha3_224[DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_224]; 129 130 /* 131 * id-rsassa-pkcs1-v1_5-with-sha3-256 OBJECT IDENTIFIER ::= { sigAlgs 14 } 132 */ 133 #define DER_OID_V_id_rsassa_pkcs1_v1_5_with_sha3_256 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x0E 134 #define DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_256 11 135 extern const unsigned char ossl_der_oid_id_rsassa_pkcs1_v1_5_with_sha3_256[DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_256]; 136 137 /* 138 * id-rsassa-pkcs1-v1_5-with-sha3-384 OBJECT IDENTIFIER ::= { sigAlgs 15 } 139 */ 140 #define DER_OID_V_id_rsassa_pkcs1_v1_5_with_sha3_384 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x0F 141 #define DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_384 11 142 extern const unsigned char ossl_der_oid_id_rsassa_pkcs1_v1_5_with_sha3_384[DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_384]; 143 144 /* 145 * id-rsassa-pkcs1-v1_5-with-sha3-512 OBJECT IDENTIFIER ::= { sigAlgs 16 } 146 */ 147 #define DER_OID_V_id_rsassa_pkcs1_v1_5_with_sha3_512 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x10 148 #define DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_512 11 149 extern const unsigned char ossl_der_oid_id_rsassa_pkcs1_v1_5_with_sha3_512[DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_512]; 150 151 /* 152 * md4WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 3 } 153 */ 154 #define DER_OID_V_md4WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x03 155 #define DER_OID_SZ_md4WithRSAEncryption 11 156 extern const unsigned char ossl_der_oid_md4WithRSAEncryption[DER_OID_SZ_md4WithRSAEncryption]; 157 158 /* 159 * ripemd160WithRSAEncryption OBJECT IDENTIFIER ::= { 160 * iso(1) identified-organization(3) teletrust(36) algorithm(3) signatureAlgorithm(3) rsaSignature(1) 2 161 * } 162 */ 163 #define DER_OID_V_ripemd160WithRSAEncryption DER_P_OBJECT, 6, 0x2B, 0x24, 0x03, 0x03, 0x01, 0x02 164 #define DER_OID_SZ_ripemd160WithRSAEncryption 8 165 extern const unsigned char ossl_der_oid_ripemd160WithRSAEncryption[DER_OID_SZ_ripemd160WithRSAEncryption]; 166 167 /* 168 * mdc2WithRSASignature OBJECT IDENTIFIER ::= { 169 * iso(1) identified-organization(3) oiw(14) secsig(3) algorithms(2) mdc2WithRSASignature(14) 170 * } 171 */ 172 #define DER_OID_V_mdc2WithRSASignature DER_P_OBJECT, 5, 0x2B, 0x0E, 0x03, 0x02, 0x0E 173 #define DER_OID_SZ_mdc2WithRSASignature 7 174 extern const unsigned char ossl_der_oid_mdc2WithRSASignature[DER_OID_SZ_mdc2WithRSASignature]; 175 176 177 /* PSS parameters */ 178 int ossl_DER_w_RSASSA_PSS_params(WPACKET *pkt, int tag, 179 const RSA_PSS_PARAMS_30 *pss); 180 /* Subject Public Key Info */ 181 int ossl_DER_w_algorithmIdentifier_RSA(WPACKET *pkt, int tag, RSA *rsa); 182 int ossl_DER_w_algorithmIdentifier_RSA_PSS(WPACKET *pkt, int tag, 183 int rsa_type, 184 const RSA_PSS_PARAMS_30 *pss); 185 /* Signature */ 186 int ossl_DER_w_algorithmIdentifier_MDWithRSAEncryption(WPACKET *pkt, int tag, 187 int mdnid); 188