DescriptionClient certificate support for crypto/tls
This changeset implements client certificate support in crypto/tls
for both handshake_server.go and handshake_client.go
The updated server implementation sends an empty certificateAuthorities
field in the certificateRequestMsg, thus allowing clients to send any
certificates they wish. Likewise, the client code will only respond
with its certificate when the server requests a certificate with this
field empty.
The reason for not implementing this is that I'm not sure how widely
used this list of allowed DNs of CAs is in practice. I tried a couple of
applications to see if they would send me something back in this field,
one being Apache HTTPD. They all sent an empty CA list in the
certificateRequestMsg, so it would seem that the decision of accepting
a certificate or not is often delegated to until after the TLS handshake
is done. I'd like some feedback on this if someone knows more about it.
The scripted server handshake test in handshake_server_test.go has also
been updated to include the extra handshake messages this changeset
implements.
Patch Set 1 #
Total comments: 18
Patch Set 2 : code review 1975042: Client certificate support for crypto/tls #
MessagesTotal messages: 11
|