On Wed, Sep 03, 2014 at 04:34:05PM -0700, Andy Schmidt wrote: > The problem is that the API call sequence generates different S/MIME > and/or PKCS7 output between 1.0.1h and 1.0.1i. The attached files are > generated from the same API call sequence, JohnHancock.smime.h with > 1.0.1h and JohnHancock.smime.i with 1.0.1i. The h version S/MIME does > not have the BAD OBJECTs (or <INVALID> with my openssl executable), > parsed with "openssl smime -in JohnHancock.smime.h -pk7out | openssl > asn1parse | grep INVALID"
The difference I see is: d=0 hl=4 l=.... cons: SEQUENCE d=1 hl=2 l= 9 prim: OBJECT :pkcs7-signedData d=1 hl=4 l=.... cons: cont [ 0 ] d=2 hl=4 l=.... cons: SEQUENCE d=3 hl=2 l= 1 prim: INTEGER :01 d=3 hl=2 l= 11 cons: SET d=4 hl=2 l= 9 cons: SEQUENCE d=5 hl=2 l= 5 prim: OBJECT :sha1 d=5 hl=2 l= 0 prim: NULL -d=3 hl=2 l= 3 cons: SEQUENCE -d=4 hl=2 l= 1 prim: OBJECT :itu-t -d=3 hl=4 l=.... cons: cont [ 0 ] +d=3 hl=2 l= 2 cons: SEQUENCE +d=4 hl=2 l= 0 prim: OBJECT :BAD OBJECT +d=3 hl=4 l=.... cons: cont [ 0 ] The "itu-t" OID is not correctly set in the PKCS7 encoding. The same issue shows up again later. It is not clear what the origin of the problem might be. One possibly relevant difference is in crypto/objects/obj_dat.h: commit d70c0be4c1e33985a79d691786db72661fdfd057 Author: Matt Caswell <m...@openssl.org> Date: Wed Aug 6 22:18:45 2014 +0100 make update ... -{"ITU-T","itu-t",NID_itu_t,1,&(lvalues[4439]),0}, +{"ITU-T","itu-t",NID_itu_t,0,NULL,0}, ... That's a wild guess, it may well be unrelated. -- Viktor. ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org