boringssl/crypto/err/rsa.errordata
David Benjamin 74f711083d Parse RSAPrivateKey with CBS.
This removes the version field from RSA and instead handles versioning
as part of parsing. (As a bonus, we now correctly limit multi-prime RSA
to version 1 keys.)

Most consumers are also converted. old_rsa_priv_{de,en}code are left
alone for now. Those hooks are passed in parameters which match the old
d2i/i2d pattern (they're only used in d2i_PrivateKey and
i2d_PrivateKey).

Include a test which, among other things, checks that public keys being
serialized as private keys are handled properly.

BUG=499653

Change-Id: Icdd5f0382c4a84f9c8867024f29756e1a306ba08
Reviewed-on: https://boringssl-review.googlesource.com/5273
Reviewed-by: Adam Langley <agl@google.com>
2015-07-07 22:50:53 +00:00

88 lines
3.1 KiB
Plaintext

RSA,function,100,BN_BLINDING_convert_ex
RSA,function,101,BN_BLINDING_create_param
RSA,function,102,BN_BLINDING_invert_ex
RSA,function,103,BN_BLINDING_new
RSA,function,104,BN_BLINDING_update
RSA,function,123,RSA_add_pkcs1_prefix
RSA,function,105,RSA_check_key
RSA,function,135,RSA_marshal_private_key
RSA,function,129,RSA_marshal_public_key
RSA,function,106,RSA_new_method
RSA,function,107,RSA_padding_add_PKCS1_OAEP_mgf1
RSA,function,108,RSA_padding_add_PKCS1_PSS_mgf1
RSA,function,109,RSA_padding_add_PKCS1_type_1
RSA,function,110,RSA_padding_add_PKCS1_type_2
RSA,function,111,RSA_padding_add_none
RSA,function,112,RSA_padding_check_PKCS1_OAEP_mgf1
RSA,function,113,RSA_padding_check_PKCS1_type_1
RSA,function,114,RSA_padding_check_PKCS1_type_2
RSA,function,115,RSA_padding_check_none
RSA,function,136,RSA_parse_private_key
RSA,function,130,RSA_parse_public_key
RSA,function,137,RSA_private_key_from_bytes
RSA,function,138,RSA_private_key_to_bytes
RSA,function,131,RSA_public_key_from_bytes
RSA,function,132,RSA_public_key_to_bytes
RSA,function,116,RSA_recover_crt_params
RSA,function,117,RSA_sign
RSA,function,118,RSA_verify
RSA,function,119,RSA_verify_PKCS1_PSS_mgf1
RSA,function,120,decrypt
RSA,function,121,encrypt
RSA,function,139,i2d_RSAPrivateKey
RSA,function,133,i2d_RSAPublicKey
RSA,function,122,keygen
RSA,function,128,keygen_multiprime
RSA,function,134,marshal_integer
RSA,function,124,private_transform
RSA,function,140,rsa_parse_additional_prime
RSA,function,125,rsa_setup_blinding
RSA,function,126,sign_raw
RSA,function,127,verify_raw
RSA,reason,143,BAD_ENCODING
RSA,reason,100,BAD_E_VALUE
RSA,reason,101,BAD_FIXED_HEADER_DECRYPT
RSA,reason,102,BAD_PAD_BYTE_COUNT
RSA,reason,103,BAD_RSA_PARAMETERS
RSA,reason,104,BAD_SIGNATURE
RSA,reason,145,BAD_VERSION
RSA,reason,105,BLOCK_TYPE_IS_NOT_01
RSA,reason,106,BN_NOT_INITIALIZED
RSA,reason,142,CANNOT_RECOVER_MULTI_PRIME_KEY
RSA,reason,107,CRT_PARAMS_ALREADY_GIVEN
RSA,reason,108,CRT_VALUES_INCORRECT
RSA,reason,109,DATA_LEN_NOT_EQUAL_TO_MOD_LEN
RSA,reason,110,DATA_TOO_LARGE
RSA,reason,111,DATA_TOO_LARGE_FOR_KEY_SIZE
RSA,reason,112,DATA_TOO_LARGE_FOR_MODULUS
RSA,reason,113,DATA_TOO_SMALL
RSA,reason,114,DATA_TOO_SMALL_FOR_KEY_SIZE
RSA,reason,115,DIGEST_TOO_BIG_FOR_RSA_KEY
RSA,reason,116,D_E_NOT_CONGRUENT_TO_1
RSA,reason,117,EMPTY_PUBLIC_KEY
RSA,reason,144,ENCODE_ERROR
RSA,reason,118,FIRST_OCTET_INVALID
RSA,reason,119,INCONSISTENT_SET_OF_CRT_VALUES
RSA,reason,120,INTERNAL_ERROR
RSA,reason,121,INVALID_MESSAGE_LENGTH
RSA,reason,122,KEY_SIZE_TOO_SMALL
RSA,reason,123,LAST_OCTET_INVALID
RSA,reason,124,MODULUS_TOO_LARGE
RSA,reason,141,MUST_HAVE_AT_LEAST_TWO_PRIMES
RSA,reason,125,NO_PUBLIC_EXPONENT
RSA,reason,126,NULL_BEFORE_BLOCK_MISSING
RSA,reason,127,N_NOT_EQUAL_P_Q
RSA,reason,128,OAEP_DECODING_ERROR
RSA,reason,129,ONLY_ONE_OF_P_Q_GIVEN
RSA,reason,130,OUTPUT_BUFFER_TOO_SMALL
RSA,reason,131,PADDING_CHECK_FAILED
RSA,reason,132,PKCS_DECODING_ERROR
RSA,reason,133,SLEN_CHECK_FAILED
RSA,reason,134,SLEN_RECOVERY_FAILED
RSA,reason,135,TOO_LONG
RSA,reason,136,TOO_MANY_ITERATIONS
RSA,reason,137,UNKNOWN_ALGORITHM_TYPE
RSA,reason,138,UNKNOWN_PADDING_TYPE
RSA,reason,139,VALUE_MISSING
RSA,reason,140,WRONG_SIGNATURE_LENGTH