Uploaded image for project: 'HttpComponents HttpClient'
  1. HttpComponents HttpClient
  2. HTTPCLIENT-1836

DefaultHostnameVerifier#getSubjectAltNames(X509Certificate) throws java.lang.ClassCastException

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 4.5.3, 5.0 Alpha1
    • 4.5.4, 5.0 Alpha2
    • HttpClient (classic)
    • None

    Description

      After upgrade to HttpClient 4.5.3, all of a sudden I started to receive the following exception in one of my projects:
      java.lang.ClassCastException: [B cannot be cast to java.lang.String

      The exception is thrown in DefaultHostnameVerifier#getSubjectAltNames() method, on line 309:
      final String s = (String) entry.get(1);

      The code above assumes that each entry is either a String or something castable to String. However, according to Javadoc documentation of X509Certificate.getSubjectAlternativeNames(), it can be a byte array containing ASN.1 DER encoded value. Attempt to cast this byte array to String is throwing java.lang.ClassCastException.

      Seems to be a regression introduced in version 4.5.3 with the fix for HTTPCLIENT-1802

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              iiliev Ilian Iliev
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: