On 19/09/2015 15:34, Michael Heide wrote:
Am Wed, 16 Sep 2015 08:55:51 +0200 schrieb Michael Heide 
<[email protected]>:

My question now is: how to (proper) handle it?
Maybe a more sensible way to handle those signatures with OpenSSL is to still 
not allow such things but instead return an error indicating success if it 
/would/ be allowed to do it this way? The application then can check for this 
specific error and translate it into success. (meaning: this specific error is 
set if OpenSSL successfully compared both hashes and is - as such - not really 
a fatal error.)

This way OpenSSLs default behaviour won't change, it's still an error to not 
encapsulate the encryptedDigest in an asn1 structure. But the application 
programmer is able to handle it.

see attachment.

(Maybe a callback-function at the place where the error gets generated would be 
a better option. But I think that would be a more extensive change in OpenSSL.)
I am in no position to include this, but here are a few
thoughts on improving your patch.

1. The error should not call this "plain", this would lead
  to the same misunderstanding I had earlier.  Try something
  like "RSA_R_PKCS1_1_DIGEST_ONLY_VALID" to indicate that this
  is a variant of PKCS#1 v1.x signature formatting (the outer
  part with 00|01|FF....|00 is still there), but without the
  inner DER encoded ASN.1 structure.

2. Because the hash algorithm OID is not there, something
  needs to check that the hash algorithm is the right one for
  this RSA public key.  This test is really in another layer
  (PKCS#7/CMS), but needs to be stronger in this case due to
  the lack of an embedded hash algorithm identifier inside the
  RSA calculation.

3. It would be really nice if someone in the know would
  explain under which conditions this alternative signature
  algorithm is used and/or necessary.


Enjoy

Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S.  http://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded

_______________________________________________
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users

Reply via email to