Open fengxinfreedom opened 1 year ago
This is a PKCS#8-encoded private key (PrivateKeyInfo containing an OID and an OCTET STRING containing an RSAPrivateKey) in a PEM encoding with the header BEGIN RSA PRIVATE KEY
. Normally, PKCS#8 keys in PEM have the header BEGIN PRIVATE KEY
, because the key type is identified inside. The header BEGIN RSA PRIVATE KEY
is normally used with PKCS#1-encoded private keys, which just contain the RSAPrivateKey structure with no metadata to indicate that it's an RSA key.
Mbed TLS supports both PKCS#8 and PKCS#1, but requires the PEM header to match the format. If you change BEGIN RSA PRIVATE KEY
to BEGIN PRIVATE KEY
and END RSA PRIVATE KEY
to END PRIVATE KEY
, Mbed TLS accepts the key. If you convert the key from PEM to DER, Mbed TLS accepts the key.
I don't think it would be wrong to be more liberal here, but it would make the code even more complicated.
How did you generate the private key file exactly? If there's a popular program that outputs keys in this form, we may need to support it. But I suspect that it's just an uncommon misconfiguration.
Summary
here is the private key and public key
Always return the -3D00 + 0x62
The private key were generage from internet.
System information
Mbed TLS version (number or commit id): Operating system and version: Configuration (if not default, please attach
mbedtls_config.h
): Compiler and options (if you used a pre-built binary, please indicate how you obtained it): Additional environment information:Expected behavior
return 0
Actual behavior
return -3D00 - 0x62
Steps to reproduce
Additional information