Re: [commits] Horde branch master updated. 900790ecbb506e850e5e6f03823ad293dc2d370d
Michael J Rubinsky <[email protected]> Fri, 28 Apr 2017 01:07:23 +0000
| Newsgroups | gmane.comp.horde.devel |
|---|---|
| Message-ID | <20170428010723.Horde.5-6LYSY0Ji5JGTc21MZIIWN@h4.theupstairsroom.com> |
Quoting Jan Schneider <[email protected]>: > Zitat von Michael J. Rubinsky <[email protected]>: > >> The branch "master" has been updated. >> The following is a summary of the commits. >> >> from: 076b00cfe4db6a0fa44b8b1b7d07e96996ab1b33 >> >> 76c0d9d Set the micalg header parameter correctly when using SHA-256. >> fa2dca3 Pass the openssl path too. >> 900790e BFN >> >> Summary: >> http://github.com/horde/horde/compare/076b00cfe4db6a0fa44b8b1b7d07e96996ab1b33...900790ecbb506e850e5e6f03823ad293dc2d370d >> >> ----------------------------------------------------------------------- >> >> commit 76c0d9d3f2af854e8b34e3536af68100332a203c >> Author: Michael J Rubinsky <[email protected]> >> Date: Thu Apr 27 00:42:20 2017 -0400 >> >> Set the micalg header parameter correctly when using SHA-256. >> >> This took me the better part of a day to research and figure out, >> so would appreciate a second pair of eyes and/or some testing. >> >> New-ish versions of openssl use SHA-256 as the message digest alg. >> when smime signing while other versions use SHA-1. This causes some >> clients to reject the signature, which I believe to be the correct >> behavior. >> >> PHP's openssl_pkcs7_* methods don't allow setting or reading the md >> method so we are left with either parsing the entire DER binary >> stream using something like phpseclib and pulling out the digest >> method, forgoing the openssl_* methods and call the openssl executable's >> smime tool to directly to do the signature, or we can use >> openssl executable's >> asn1parse command and search for a known string indicating >> SHA-256 is being used. >> >> The first option is overkill, the second option would defeat the >> purpose of having the more efficient openssl_* methods and would >> require writing out a copy of the private key to temporary storage, so >> I went with the third option. >> >> framework/Crypt/lib/Horde/Crypt/Smime.php | 18 +++++++++++++++++- >> 1 file changed, 17 insertions(+), 1 deletion(-) >> >> http://github.com/horde/horde/commit/76c0d9d3f2af854e8b34e3536af68100332a203c >> >> ----------------------------------------------------------------------- > > According to the OpenSSL documentation at the latest stable version > (https://www.openssl.org/docs/man1.1.0/crypto/PKCS7_sign.html) but > also at the current master version > (https://www.openssl.org/docs/manmaster/man3/PKCS7_sign.html) is says: > > "If a signer is specified it will use the default digest for the > signing algorithm. This is SHA1 for both RSA and DSA keys." > > The source tells a different story though: > https://github.com/openssl/openssl/blob/6f0ac0e2f27d9240516edb9a23b7863e7ad02898/crypto/dsa/dsa_ameth.c#L499 > > And this is the commit that changed the behavior: > https://github.com/openssl/openssl/commit/44e0c2bae4bfd87d770480902618dbccde84fd81 > > If we could find out what the default digest method for the used > public keys is, we can use that. I would prefer a solution without > using the openssl binary, because we are actually trying to get rid > of it: https://github.com/horde/horde/pull/218 Agreed. I'll take another look at this during my next time block. > -- > Jan Schneider > The Horde Project > https://www.horde.org/ > > -- > dev mailing list > Frequently Asked Questions: http://wiki.horde.org/FAQ > To unsubscribe, mail: [email protected] -- mike The Horde Project http://www.horde.org https://www.facebook.com/hordeproject https://www.twitter.com/hordeproject -- dev mailing list Frequently Asked Questions: http://wiki.horde.org/FAQ To unsubscribe, mail: [email protected]
(unnamed)
(application/pgp-keys, 9.1 KB) - not displayed
signature.asc
(application/pgp-signature, 821 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4 iQIcBAABAgAGBQJZApXLAAoJEJGSgkbRsxbbnm4P/2/bA2JuNRyILQDW1JslVbvU aHl3rChsKirqZNbHkJMebHVTCnofvopfuEgn3pWDmBLtdIoZ8mkLCs+dP9dselHr VONindkygn8IfI5qiBES2dq5UZ4Gvd78rLQuwRXLdEDH/J+nfq4acOU2nTzs+MzM rK+52Gs+K20RV9iHf9S5Vs4bz+9yThvDXSRab3l6eUT9/JiQ+gy9xxzLlIG5SEYE h3IjxmJbxr/uD3+ZpUfF9HRh030OCXUOm+Gykyj/3rB2UdIRISgUkNIaT3hvJjPQ +veq6LRzn6KgFjFOJbqv2Gm83ajJiPjfIaH2VticghRHVZaeusbgdmRC4CXyyZiF UfxtSa/Xs3MaKjQx31+9uBENbSJTCnKARqphz2Ds0nbFKTt8F5Xq2JbqkEx40O1d 9P7aKiwdpfJXd+jQimk0ZuG4RF+LelekbuocibNLolEvxf9GnMdQECOA4P8DlQXA C33/m9p1pDUtL9FS2BxcmXeugAQ5QbQC+ItSQmQd7SHaiSM/QlyLz/TLidFwsbrh XbJubm0dIPoR5shG3+ZmliIp6o5f0dh0Excjf93qL918ypnY/eQlzQw9orcolUl1 APsqwk00b3mq35h89Pcij264u67uMhKJlpamF8NcWKNnhErA7w0PgqqfE3vH8I6H vJsD1kkvmM//4HrJ64Bc =Us5X -----END PGP SIGNATURE-----