play.api.libs.ws.ssl

AlgorithmChecker

class AlgorithmChecker extends PKIXCertPathChecker

Looks for disabled algorithms in the certificate. This is because some certificates are signed with forgable hashes such as MD2 or MD5, so we can't be certain of their authenticity.

This class is needed because the JDK 1.6 Algorithm checker doesn't give us any way to customize the list of disabled algorithms, and we need to be able to support that.

Also note that we need to check the trust anchor for disabled key sizes, and the CertPath explicitly removes the trust anchor from the chain of certificates. This means we need to check the trust anchor explicitly in the through the CompositeTrustManager.

Source
AlgorithmChecker.scala
Linear Supertypes
PKIXCertPathChecker, Cloneable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. AlgorithmChecker
  2. PKIXCertPathChecker
  3. Cloneable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new AlgorithmChecker(signatureConstraints: Set[AlgorithmConstraint], keyConstraints: Set[AlgorithmConstraint])

Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  5. def check(cert: Certificate, unresolvedCritExts: Collection[String]): Unit

    Checks the algorithms in the given certificate.

    Checks the algorithms in the given certificate. Note that this implementation skips signature checking in a root certificate, as a trusted root cert by definition is in the trust store and doesn't need to be signed.

    Definition Classes
    AlgorithmChecker → PKIXCertPathChecker
  6. def checkKeyAlgorithms(x509Cert: X509Certificate): Unit

    Checks for key algorithms in the certificate and throws CertPathValidatorException if matched.

    Checks for key algorithms in the certificate and throws CertPathValidatorException if matched.

    x509Cert

  7. def checkSignatureAlgorithms(x509Cert: X509Certificate): Unit

    Checks for signature algorithms in the certificate and throws CertPathValidatorException if matched.

    Checks for signature algorithms in the certificate and throws CertPathValidatorException if matched.

    x509Cert

  8. def clone(): AnyRef

    Definition Classes
    PKIXCertPathChecker → AnyRef
  9. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. def findKeyConstraint(algorithm: String): Option[AlgorithmConstraint]

  13. def findSignatureConstraint(algorithm: String): Option[AlgorithmConstraint]

  14. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  15. def getCommonName(cert: X509Certificate): String

    Useful way to get certificate info without getting spammed with data.

  16. def getSupportedExtensions(): Set[String]

    Definition Classes
    AlgorithmChecker → PKIXCertPathChecker
  17. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  18. def init(forward: Boolean): Unit

    Definition Classes
    AlgorithmChecker → PKIXCertPathChecker
  19. def isForwardCheckingSupported(): Boolean

    Definition Classes
    AlgorithmChecker → PKIXCertPathChecker
  20. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  21. val keyConstraints: Set[AlgorithmConstraint]

  22. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  23. final def notify(): Unit

    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  25. val signatureConstraints: Set[AlgorithmConstraint]

  26. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  27. def toString(): String

    Definition Classes
    AnyRef → Any
  28. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from PKIXCertPathChecker

Inherited from Cloneable

Inherited from AnyRef

Inherited from Any

Ungrouped