Class PemUtils

java.lang.Object
org.keycloak.common.util.PemUtils

public class PemUtils extends Object
Utility classes to extract PublicKey, PrivateKey, and X509Certificate from openssl generated PEM files
Version:
$Revision: 1 $
Author:
Bill Burke
  • Field Details

  • Constructor Details

    • PemUtils

      public PemUtils()
  • Method Details

    • decodeCertificate

      public static X509Certificate decodeCertificate(String cert)
      Decode a X509 Certificate from a PEM string
      Parameters:
      cert -
      Returns:
      Throws:
      Exception
    • decodePublicKey

      public static PublicKey decodePublicKey(String pem)
      Decode a Public Key from a PEM string
      Parameters:
      pem -
      Returns:
      Throws:
      Exception
    • decodePublicKey

      public static PublicKey decodePublicKey(String pem, String type)
      Decode a Public Key from a PEM string
      Parameters:
      pem - The pem encoded pblic key
      type - The type of the key (RSA, EC,...)
      Returns:
      The public key or null
    • decodePrivateKey

      public static PrivateKey decodePrivateKey(String pem)
      Decode a Private Key from a PEM string
      Parameters:
      pem -
      Returns:
      Throws:
      Exception
    • encodeKey

      public static String encodeKey(Key key)
      Encode a Key to a PEM string
      Parameters:
      key -
      Returns:
      Throws:
      Exception
    • encodeCertificate

      public static String encodeCertificate(Certificate certificate)
      Encode a X509 Certificate to a PEM string
      Parameters:
      certificate -
      Returns:
    • pemToDer

      public static byte[] pemToDer(String pem)
    • removeBeginEnd

      public static String removeBeginEnd(String pem)
    • addPrivateKeyBeginEnd

      public static String addPrivateKeyBeginEnd(String privateKeyPem)
    • addCertificateBeginEnd

      public static String addCertificateBeginEnd(String certificate)
    • addRsaPrivateKeyBeginEnd

      public static String addRsaPrivateKeyBeginEnd(String privateKeyPem)
    • generateThumbprint

      public static String generateThumbprint(String[] certChain, String encoding) throws NoSuchAlgorithmException
      Throws:
      NoSuchAlgorithmException