You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The contract/behavior of HostnameVerifier differs between the JDK and Netty backends. For the JDK backend, the HostnameVerifier is only called in the case that the connection hostname does not match the certificate hostname (which is why HttpsURLConnection.getDefaultHostnameVerifier returns false in all cases). In contrast, the Netty backend always calls the HostnameVerifier, which places the burden of wildcard and subject alt name matching on the client code.
It would make SSL certificate verification much easier for client code if the behavior was consistent and, if the behavior is to call HostnameVerifier in all cases, to provide an implementation which client code could extend that takes care of this common case.
For reference, the implementation I am using (which emulates the JDK, but requires using Sun internal proprietary APIs) is here.
The text was updated successfully, but these errors were encountered:
The contract/behavior of
HostnameVerifier
differs between the JDK and Netty backends. For the JDK backend, theHostnameVerifier
is only called in the case that the connection hostname does not match the certificate hostname (which is whyHttpsURLConnection.getDefaultHostnameVerifier
returnsfalse
in all cases). In contrast, the Netty backend always calls theHostnameVerifier
, which places the burden of wildcard and subject alt name matching on the client code.It would make SSL certificate verification much easier for client code if the behavior was consistent and, if the behavior is to call
HostnameVerifier
in all cases, to provide an implementation which client code could extend that takes care of this common case.For reference, the implementation I am using (which emulates the JDK, but requires using Sun internal proprietary APIs) is here.
The text was updated successfully, but these errors were encountered: