Uploaded image for project: 'XMLTooling - C++'
  1. XMLTooling - C++
  2. CPPXT-114

ExplicitKeyTrustEngine doesn't handle EC in the OpenSSL case

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0, 1.1, 1.2, 1.2.1, 1.2.2, 1.3, 1.3.1, 1.3.2, 1.3.3, 1.4, 1.4.1, 1.4.2, 1.5.0, 1.5.1, 1.5.2, 1.5.3, 1.5.4, 1.5.5, 1.6.0, 1.5.6, 1.6.1
    • Fix Version/s: 3.0.0
    • Component/s: Security
    • Labels:
      None
    • Operating System:
      Multiple
    • CPU Type:
      Multiple
    • C/C++ Compiler:
      Multiple
    • Web Server:
      Multiple

      Description

      I have no idea whether this matters, it just emerged while I was writing tests.

      The ExplicitKeyTrustEngine code which implements

      virtual bool validate(
                  X509* certEE, STACK_OF(X509)* certChain,
                  const CredentialResolver& credResolver,
                  CredentialCriteria* criteria=nullptr
                  ) const=0;
      

      (lines 214 to 294) doesn't have a case to handle XSECCryptoKey::KEY_EC_PUBLIC (it has the RSA and the DSA case).

      As an extra aside it won't handle the cases when it gets given a key par rather than just a public key, but that may not matter).

      If this matters I could try to put together the fix, although IIRC it is hard to compare the openSSL EC case (it may even be impossible which is why this hasn't been implemented)

        Attachments

          Activity

            People

            Assignee:
            cantor.2@osu.edu Scott Cantor
            Reporter:
            rdw@iay.org.uk Rod Widdowson
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 4 hours
                4h
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 45 minutes Time Not Required
                45m