@@ -2818,6 +2818,8 @@ int wolfTPM2_DecodeRsaDer(const byte* der, word32 derSz,
28182818 rc = wc_InitRsaKey (key , NULL );
28192819 if (rc == 0 ) {
28202820 idx = 0 ;
2821+ /* skip PKCS8 header */
2822+ (void )wc_GetPkcs8TraditionalOffset ((byte * )der , & idx , derSz );
28212823 rc = wc_RsaPrivateKeyDecode (der , & idx , key , derSz );
28222824 if (rc == 0 ) {
28232825 isPrivateKey = 1 ;
@@ -3033,7 +3035,7 @@ int wolfTPM2_ExportPublicKeyBuffer(WOLFTPM2_DEV* dev, WOLFTPM2_KEY* tpmKey,
30333035 /* load public portion of key into wolf RSA Key */
30343036 rc = wolfTPM2_RsaKey_TpmToWolf (dev , tpmKey , & key .rsa );
30353037 if (rc == 0 ) {
3036- rc = wc_RsaKeyToPublicDer_ex (& key .rsa , out , * outSz , 1 );
3038+ rc = wc_RsaKeyToPublicDer (& key .rsa , out , * outSz );
30373039 if (rc > 0 ) {
30383040 derSz = rc ;
30393041 rc = 0 ;
@@ -6836,15 +6838,19 @@ static int CSR_Parse_DN(CertName* name, const char* subject)
68366838 {"/CN=" , OFFSETOF (CertName , commonName )}, /* Common Name */
68376839 {"/C=" , OFFSETOF (CertName , country )}, /* Country */
68386840 {"/ST=" , OFFSETOF (CertName , state )}, /* State */
6839- {"/street=" , OFFSETOF (CertName , street )}, /* Street */
68406841 {"/L=" , OFFSETOF (CertName , locality )}, /* Locality */
68416842 {"/SN=" , OFFSETOF (CertName , sur )}, /* Surname */
68426843 {"/O=" , OFFSETOF (CertName , org )}, /* Organization */
68436844 {"/OU=" , OFFSETOF (CertName , unit )}, /* Organization Unit */
6844- {"/postalCode=" , OFFSETOF (CertName , postalCode )}, /* PostalCode */
6845- {"/userid=" , OFFSETOF (CertName , userId )}, /* UserID */
68466845 {"/serialNumber=" , OFFSETOF (CertName , serialDev )}, /* Serial Number */
68476846 {"/emailAddress=" , OFFSETOF (CertName , email )}, /* Email Address */
6847+ #if defined(LIBWOLFSSL_VERSION_HEX ) && LIBWOLFSSL_VERSION_HEX > 0x05000000
6848+ {"/street=" , OFFSETOF (CertName , street )}, /* Street */
6849+ {"/postalCode=" , OFFSETOF (CertName , postalCode )}, /* PostalCode */
6850+ #endif
6851+ #if defined(LIBWOLFSSL_VERSION_HEX ) && LIBWOLFSSL_VERSION_HEX > 0x05003000
6852+ {"/userid=" , OFFSETOF (CertName , userId )}, /* UserID */
6853+ #endif
68486854 #ifdef WOLFSSL_CERT_EXT
68496855 {"/businessCategory=" , OFFSETOF (CertName , busCat )}, /* Business Category */
68506856 #endif
@@ -6916,7 +6922,7 @@ static int CSR_MakeAndSign(WOLFTPM2_DEV* dev, WOLFTPM2_CSR* csr, CSRKey* key,
69166922 }
69176923
69186924 /* Optionally convert to PEM */
6919- if (rc >= 0 && outFormat == CTC_FILETYPE_PEM ) {
6925+ if (rc >= 0 && outFormat == ENCODING_TYPE_PEM ) {
69206926 #ifdef WOLFSSL_DER_TO_PEM
69216927 byte tmp [MAX_CONTEXT_SIZE ];
69226928 if (rc > (int )sizeof (tmp )) {
0 commit comments