openssl: [Bug]No supported data to decode. Input type: PEM
I have a RSA private key being generated by the following :
ctx = EVP_PKEY_CTX_new_from_name(NULL, "RSA", NULL);
if (!ctx)
{
goto error_rsa;
}
EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, 2048);
EVP_PKEY_CTX_set_dh_paramgen_subprime_len(ctx, 2048);
EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, 5);
EVP_PKEY_CTX_set_cb(ctx, MyOpenSSL3_Progress_Callback);
EVP_PKEY_CTX_set_app_data(ctx, MyOpenSSL3_Progress_Callback);
if (EVP_PKEY_keygen_init(ctx) <= 0)
{
goto error_rsa;
}
params[0] = OSSL_PARAM_construct_uint("bits", &rsa_bits_strength);
params[1] = OSSL_PARAM_construct_end();
EVP_PKEY_CTX_set_params(ctx, params);
/*
if (EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, rsa_bits_strength) <= 0)
{
goto error_rsa;
}
*/
BN_GENCB_set(CallBack, MyOpenSSL_Progress_Callback, lpProgress);
if (EVP_PKEY_generate(ctx, &PKey) <= 0)
{
(Out)(lpProgress, _T("%s%sFailed to generate RSA key for certificate (%s bits).\r\n"), lpProgress->tszBlank, lpProgress->tszPrefix, bits);
goto error_rsa;
}
example generated RSA Private key :
-----BEGIN PRIVATE KEY-----
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
UvY99Uq/Zq7fGYRqvXL3GBvvC8DmTg==
-----END PRIVATE KEY-----
the certficate file :
-----BEGIN CERTIFICATE-----
MIIEmTCCAoECBGFSXVwwDQYJKoZIhvcNAQELBQAwETEPMA0GA1UEAwwGaW9GVFBE
MB4XDTIxMDkyNzAwMTAwNFoXDTMxMDkyNjAwMTAwNFowETEPMA0GA1UEAwwGaW9G
VFBEMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAt1ugY7rpfhhOuRqP
4uVSQ3N5lUnijFt+OWqiyiIJiyTiSa5JUHeNzFLhr30Erb5JmcRton1sdCkdex/P
izFP9b/WlrA5lyU2qGwdDotayvzYWaz/9vSijQaHoho6HE8OdVOv/Nwqcsyq1L7c
/Rkj9B4RRVlqbGbZA8Jolub9o5oMqlSSve5zrJ5Oro8C/7FcCskxxTdyP4+ectRd
jKnPKUmbgHTCjAs77x4X9BH/GwGM31VkFzLLrN47gpYrvuatys2Sloi7j88T2Zsw
+iEa8K0pomwAFfDwoMx/jyurJ9u1zTKlx32V1gm9uCfvyLuDdbZW5kUukiBvYb0Z
tvUf27+I88yeKGWW+bxdGXlKgCtzjbs8YAeEIqHZt7uW/B5QGEQM6bwUG+iOZ15O
kIRql+O1eYC78i62UX0hPHTuwEKYTCOb6UItSVfikWSJi3+9hA/QOijHEh0ihjye
ElviLEpkNncsKoWYZRctCl31HSYVcEKjE2mBphbRcLBSAejokArV991JNZT6e15O
7Q3i2U/+obJClwtRjmfbaGhlbhvj9oFbucC7hvbMd7BXfwIafDu4hvfCg4gVQC4T
xieq87N1KOaZOca2TCG+Mj3miOR/H700enIlGitgTbdyY64rxHXcathxb0+25sZr
ejwOw4pTcIGrhOVd8MnD9LZzYysCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEArevH
k3mRVoS4jrjmuLtbFMSXnd1QceSVSaMIJclLvrJDHZAzAoG0pSh9JAtWzri7EWRK
W1UbL9l8ng0zZ6UcO/rbulbRL5Vj11TnOjf8hiVbpuOR+37PJ8h7aocEH1vSV4zy
OlDRt3ja7SvgspphOzHJeTOCPnHBU9ylTprO+XuoUqTRTm9vwYZ741sfrxSJPT/n
VL9VRWNcrwjxYc/4EtTexOK2noSrgxiO48jmlzFGL4BNYed4NRSeR1bGOMcoXLJF
mOueFf8L0+aV8sUL12tOuios5KUchOLoqZOAGwjObEykNGKODqQMTrWuq0K715lg
BegQ0D8EoNuKTLPFXVmkdTjU8r6s87o1AezwwG7YHXfQLyfktKZkSox+dTZivfWv
9qPtOAlPTfZS+6p5kQfeLLNrQDQp0UXmBhpqBphOLByW8AKI9qzEIFP05qBlDIF5
z/yWhmVSjEgyxAiM4xJv91JUcBbVbGECouxwaKYt6q+znPhTh/5AK34cJukbEkv6
mtSuU7onD3yebDqSZLEek4gN/pDBPJ4m2Nb+9Ca+yTKtchJ9zt0lRLovlAElm8ct
YU71RyDRkmMJ4Q/fWgC8SJjmvmlPhwshks/8zR+COg66VPrQTiWu4ytvp1ZI4/BD
YMYN1SuK1R2p8SISusIQGUguMXQV4tbB1p4HY60=
-----END CERTIFICATE-----
When calling it through function below :
if (!SSL_CTX_use_certificate_chain_file(pCtx, szFileName))
{
SSL_CTX_free(pCtx);
return TRUE;
}
if(SSL_CTX_use_PrivateKey_file(pCtx, szFileName, SSL_FILETYPE_PEM) != 1)
{
FILE* fp;
fp = fopen("errors.log", "w");
ERR_print_errors_fp(fp);
fclose(fp);
SSL_CTX_free(pCtx);
return TRUE;
}
I am getting the following error from OpenSSL :
A0210000:error:1E08010C:DECODER routines:OSSL_DECODER_from_bio:unsupported:crypto\encode_decode\decoder_lib.c:101:No supported data to decode. Input type: PEM
A0210000:error:0A080009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib:ssl\ssl_rsa.c:384:
The Same exact function is working properly on OpenSSL 1.1.1 branch, is this a bug or wrong code?
About this issue
- Original URL
- State: open
- Created 3 years ago
- Reactions: 1
- Comments: 23 (9 by maintainers)
I just took your example RSA private key data and put i in a pem file… The following code works fine for me on master…