Class SignatureUtil

java.lang.Object
org.keycloak.saml.processing.core.saml.v2.util.SignatureUtil

public class SignatureUtil extends Object
Signature utility for signing content
Since:
Dec 16, 2008
Author:
[email protected]
  • Constructor Details

    • SignatureUtil

      public SignatureUtil()
  • Method Details

    • marshall

      public static void marshall(SignatureType signature, OutputStream os) throws jakarta.xml.bind.JAXBException, SAXException
      Marshall a SignatureType to output stream
      Parameters:
      signature -
      os -
      Throws:
      SAXException
      jakarta.xml.bind.JAXBException
    • getXMLSignatureAlgorithmURI

      public static String getXMLSignatureAlgorithmURI(String algo)
      Get the XML Signature URI for the algo (RSA, DSA)
      Parameters:
      algo -
      Returns:
    • sign

      public static byte[] sign(String stringToBeSigned, PrivateKey signingKey) throws GeneralSecurityException
      Sign a string using the private key
      Parameters:
      stringToBeSigned -
      signingKey -
      Returns:
      Throws:
      GeneralSecurityException
    • validate

      public static boolean validate(byte[] signedContent, byte[] signatureValue, PublicKey validatingKey) throws GeneralSecurityException
      Validate the signed content with the signature value
      Parameters:
      signedContent -
      signatureValue -
      validatingKey -
      Returns:
      Throws:
      GeneralSecurityException
    • validate

      public static boolean validate(byte[] signedContent, byte[] signatureValue, String signatureAlgorithm, X509Certificate validatingCert) throws GeneralSecurityException
      Validate the signature using a x509 certificate
      Parameters:
      signedContent -
      signatureValue -
      signatureAlgorithm -
      validatingCert -
      Returns:
      Throws:
      GeneralSecurityException
    • createKeyValue

      public static KeyValueType createKeyValue(PublicKey key)

      Creates a KeyValueType that wraps the specified public key. This method supports DSA and RSA keys.

      Parameters:
      key - the PublicKey that will be represented as a KeyValueType.
      Returns:
      the constructed KeyValueType or null if the specified key is neither a DSA nor a RSA key.