Fix d2i_PrivateKey() to work as documented
authorRichard Levitte <levitte@openssl.org>
Mon, 11 May 2020 07:14:11 +0000 (09:14 +0200)
committerRichard Levitte <levitte@openssl.org>
Wed, 20 May 2020 19:27:53 +0000 (21:27 +0200)
commit176eb406691f14d560cf7619365830a4d033ee28
treee66c0025ced56e24e264d35215d781b0f709ec68
parentcf94e8430f3cd7c17f62b74443d16347b4b97ac8
Fix d2i_PrivateKey() to work as documented

d2i_PrivateKey() is documented to return keys of the type given as
first argument |type|, unconditionally.  Most specifically, the manual
says this:

> An error occurs if the decoded key does not match type.

However, when faced of a PKCS#8 wrapped key, |type| was ignored, which
may lead to unexpected results.

(cherry picked from commit b2952366dd0248bf35c83e1736cd203033a22378)

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/11888)
crypto/asn1/d2i_pr.c