On Mon, Oct 22, 2012, Erik Tkal wrote: > It looks like the client sets the hash to use for each key type to the first > matching algorithm sent by the server in the certificateRequest. These > values are stored in a private structure with no apparent way for client code > to modify this, and it seems both the client and server always send the full > list regardless. > > So in the case where CAPI is utilized for certificate access, if OpenSSL is > built to support SHA512, then that is the hash algorithm that will always be > chosen, even if the CSP for the selected certificate cannot perform that > function. > > I don't see any solution other than to manually manipulate the data in > cert_st, even though that is in ssl_locl.h. Anyone have any better ideas? >
This is a limitation in OpenSSL 1.0.1 and TLS 1.2. OpenSSL HEAD includes support for restricting both client and server signature algorithms. So for example you could set a priority list of client certificate algorithms on the client side and it would attempt to use the highest priority shared signature algorithm. That could be backported to OpenSSL 1.0.2 at some point. Steve. -- Dr Stephen N. Henson. OpenSSL project core developer. Commercial tech support now available see: http://www.openssl.org ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [email protected] Automated List Manager [email protected]
