Class BouncyCastleUtil

java.lang.Object
io.netty.handler.ssl.util.BouncyCastleUtil

public final class BouncyCastleUtil extends java.lang.Object
Contains methods that can be used to detect if BouncyCastle is available.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    private static final class 
     
    private static final class 
     
    private static final class 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final java.lang.String
     
    private static final java.lang.String
     
    private static final java.lang.String
     
    private static final java.lang.String
     
    private static final java.lang.String
     
    private static final java.lang.String
     
    private static final java.lang.String
     
    private static final java.lang.String
     
    private static final java.lang.String
     
    private static final InternalLogger
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static java.security.Provider
    Get the BouncyCastle Java Crypto Extensions provider, or throw an exception if it is unavailable.
    static java.security.Provider
    Get the BouncyCastle Java Secure Socket Extensions provider, or throw an exception if it is unavailable.
    static java.lang.Class<? extends javax.net.ssl.SSLEngine>
    Returns the public SSLEngine sub-class that is used by bouncy-castle or null if it can't be loaded.
    private static boolean
    includeLoadingErrorStackTrace(java.lang.Throwable e)
     
    static boolean
    isBcJsseInUse(javax.net.ssl.SSLEngine engine)
    Indicates whether the given SSLEngine is implemented by BouncyCastle.
    static boolean
    Indicate whether the BouncyCastle Public-Key Infrastructure utilities are available.
    static boolean
    Indicate whether the BouncyCastle Java Crypto Extensions provider is available.
    static boolean
    Indicate whether the BouncyCastle Java Secure Socket Extensions provider is available.
    (package private) static void
    Reset the loaded providers.
    static java.lang.Throwable
     
    static java.lang.Throwable
     
    static java.lang.Throwable
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • logger

      private static final InternalLogger logger
    • BC_PROVIDER_NAME

      private static final java.lang.String BC_PROVIDER_NAME
      See Also:
    • BC_PROVIDER

      private static final java.lang.String BC_PROVIDER
      See Also:
    • BC_FIPS_PROVIDER_NAME

      private static final java.lang.String BC_FIPS_PROVIDER_NAME
      See Also:
    • BC_FIPS_PROVIDER

      private static final java.lang.String BC_FIPS_PROVIDER
      See Also:
    • BC_JSSE_PROVIDER_NAME

      private static final java.lang.String BC_JSSE_PROVIDER_NAME
      See Also:
    • BC_JSSE_PROVIDER

      private static final java.lang.String BC_JSSE_PROVIDER
      See Also:
    • BC_PEMPARSER

      private static final java.lang.String BC_PEMPARSER
      See Also:
    • BC_JSSE_SSLENGINE

      private static final java.lang.String BC_JSSE_SSLENGINE
      See Also:
    • BC_JSSE_ALPN_SELECTOR

      private static final java.lang.String BC_JSSE_ALPN_SELECTOR
      See Also:
  • Constructor Details

    • BouncyCastleUtil

      private BouncyCastleUtil()
  • Method Details

    • isBcProvAvailable

      public static boolean isBcProvAvailable()
      Indicate whether the BouncyCastle Java Crypto Extensions provider is available.
    • isBcPkixAvailable

      public static boolean isBcPkixAvailable()
      Indicate whether the BouncyCastle Public-Key Infrastructure utilities are available.
    • isBcTlsAvailable

      public static boolean isBcTlsAvailable()
      Indicate whether the BouncyCastle Java Secure Socket Extensions provider is available.
    • unavailabilityCauseBcProv

      public static java.lang.Throwable unavailabilityCauseBcProv()
      Returns:
      the cause if unavailable. null if available.
    • unavailabilityCauseBcPkix

      public static java.lang.Throwable unavailabilityCauseBcPkix()
      Returns:
      the cause if unavailable. null if available.
    • unavailabilityCauseBcTls

      public static java.lang.Throwable unavailabilityCauseBcTls()
      Returns:
      the cause if unavailable. null if available.
    • isBcJsseInUse

      public static boolean isBcJsseInUse(javax.net.ssl.SSLEngine engine)
      Indicates whether the given SSLEngine is implemented by BouncyCastle.
    • getBcProviderJce

      public static java.security.Provider getBcProviderJce()
      Get the BouncyCastle Java Crypto Extensions provider, or throw an exception if it is unavailable.
    • getBcProviderJsse

      public static java.security.Provider getBcProviderJsse()
      Get the BouncyCastle Java Secure Socket Extensions provider, or throw an exception if it is unavailable.
    • getBcSSLEngineClass

      public static java.lang.Class<? extends javax.net.ssl.SSLEngine> getBcSSLEngineClass()
      Returns the public SSLEngine sub-class that is used by bouncy-castle or null if it can't be loaded.
      Returns:
      engine class.
    • reset

      static void reset()
      Reset the loaded providers. Useful for testing, to redo the loading under different conditions.
    • includeLoadingErrorStackTrace

      private static boolean includeLoadingErrorStackTrace(java.lang.Throwable e)