On Mon, Nov 08, 2004, Deane Sloan wrote:

> Hi,
> 
> We are using the OpenSSL PKCS#12 features for creating files for import
> to/from the Microsoft user stores - using PKCS12_parse and PKCS12_create (
> nid_key=NID_pbe_WithSHA1And3_Key_TripleDES_CBC,
> nid_cert=NID_pbe_WithSHA1And40BitRC2_CBC, iter=2000, mac_iter=2000,
> keytype=0).
> 
> Our tests have uncovered an issue where passwords of 32 ASCII chars or
> larger used on either side (MS store or OpenSSL) result in neither system
> reading files generated by the other due to MAC verification failure
> (ERR_GET_LIB(...) == ERR_LIB_PKCS12 && ERR_GET_REASON(...) ==
> PKCS12_R_MAC_VERIFY_FAILURE ) on the PKCS12_parse side and similar password
> related errors on the certificate import wizard side (assuming
> PFXVerifyPassword failure in the CryptoAPI). 
> 
> Basically - it would seem that MS's MAC generation is based on a maximum of
> 32 characters (for example - try exporting from the MS user store with a
> password greater than 32 chars, re-import the file to the store but only
> supply the first 32 characters back). 
> 
> Changing the following in the PKCS12_key_gen_uni function in p12_key.c, line
> 136, from:
> if(passlen) Plen = v * ((passlen+v-1)/v);
> 
> to:
> if(passlen) Plen = v * ((min(passlen,0x40L)+v-1)/v);
> 
> results in correct operation (from the *limited* testing I've undertaken)
> for both import to and from OpenSSL and the MS stores - at character lengths
> >= 32 ASCII chars. This has been tested against 0.9.7d - however I note that
> p12_key.c hasn't changed in the 0.9.7d release.
> 
> Is the Microsoft approach correct?
> If not - is there possible scope for a #define option for users where MS
> PKCS#12 interop is desirable? (apologies in advance if such an option does
> exist)
> 
> Best regards,
> 

This is the first I've seen of this issue. The MS approach AFAIK is a bug.
Have you tried Mozilla to see if it does the same?

When you parse a file a workaround would be to use -nomacver. For creation
there's also the (currently undocumented) -nomac option in OpenSSL 0.9.8.

Steve.
--
Dr Stephen N. Henson. Email, S/MIME and PGP keys: see homepage
OpenSSL project core developer and freelance consultant.
Funding needed! Details on homepage.
Homepage: http://www.drh-consultancy.demon.co.uk
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to