Interface Assertion

  • All Superinterfaces:
    Token
    All Known Implementing Classes:
    Assertion, Assertion

    public interface Assertion
    extends Token
    This interface stands for Assertion element. An Assertion is a package of information that supplies one or more Statement made by an issuer. There are three kinds of assertions Authentication, Authorization Decision and Attribute assertion.
    
           <Assertion  AssertionID="1124370015917" IssueInstant="2005-08-18T18:30:15.917+05:30"
                          Issuer="CN=Assertion Issuer,OU=AI,O=Assertion Issuer,L=Waltham,ST=MA,C=US"
                          MajorVersion="1" MinorVersion="1"
                          xmlns="urn:oasis:names:tc:SAML:1.0:assertion">
             <Conditions NotBefore="2005-08-16T13:21:50.503+05:30"
                            NotOnOrAfter="2005-08-16T15:21:50.504+05:30"/>
             <Subject xmlns="urn:oasis:names:tc:SAML:1.0:assertion">
                 <NameIdentifier Format="urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName">
                     CN=SAML User,OU=SU,O=SAML User,L=Los Angeles,ST=CA,C=US
                 </NameIdentifier>
    
                 <SubjectConfirmation>
                     <ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:sender-vouches</ConfirmationMethod>
                 </SubjectConfirmation>
             </Subject>
             <Attribute AttributeName="attribute1" AttributeNamespace="urn:com:sun:xml:wss:attribute">
                 <AttributeValue>ATTRIBUTE1</AttributeValue>
             </Attribute>
          <Assertion>
     
    • Method Detail

      • sign

        Element sign​(PublicKey pubKey,
                     PrivateKey privKey)
              throws SAMLException
        Sign the SAML Assertion - Enveloped Signature
        Parameters:
        pubKey - A java.security.PublicKey representing the public key used for Signature verification
        privKey - A java.security.PrivateKey representing the private key used for Signature calculation. By Default DigestMethod.SHA1, SignatureMethod.RSA_SHA1 and CanonicalizationMethod.EXCLUSIVE will be used.
        Returns:
        An org.w3c.dom.Element representation of Signed SAML Assertion
        Throws:
        SAMLException
      • sign

        Element sign​(X509Certificate cert,
                     PrivateKey privKey)
              throws SAMLException
        Sign the SAML Assertion - Enveloped Signature
        Parameters:
        cert - A java.security.cert.X509Certificate representing the certificate used for Signature verification
        privKey - A java.security.PrivateKey representing the private key used for Signature calculation. By Default DigestMethod.SHA1, SignatureMethod.RSA_SHA1 and CanonicalizationMethod.EXCLUSIVE will be used.
        Returns:
        An org.w3c.dom.Element representation of Signed SAML Assertion
        Throws:
        SAMLException
      • sign

        Element sign​(X509Certificate cert,
                     PrivateKey privKey,
                     boolean alwaysIncludeCert)
              throws SAMLException
        Sign the SAML Assertion - Enveloped Signature
        Parameters:
        cert - A java.security.cert.X509Certificate representing the certificate used for Signature verification
        privKey - A java.security.PrivateKey representing the private key used for Signature calculation.
        alwaysIncludeCert - A flag to tell whether to incude the certificate in the SAML signature. By Default DigestMethod.SHA1, SignatureMethod.RSA_SHA1 and CanonicalizationMethod.EXCLUSIVE will be used.
        Returns:
        An org.w3c.dom.Element representation of Signed SAML Assertion
        Throws:
        SAMLException
      • sign

        Element sign​(X509Certificate cert,
                     PrivateKey privKey,
                     boolean alwaysIncludeCert,
                     String signatureMethod,
                     String canonicalizationMethod)
              throws SAMLException
        Sign the SAML Assertion - Enveloped Signature
        Parameters:
        cert - A java.security.cert.X509Certificate representing the certificate used for Signature verification
        privKey - A java.security.PrivateKey representing the private key used for Signature calculation.
        alwaysIncludeCert - A flag to tell whether to incude the certificate in the SAML signature.
        signatureMethod - A javax.xml.crypto.dsig.SignatureMethod representing the signature algorithm used SAML signature.
        canonicalizationMethod - A javax.xml.crypto.dsig.CanonicalizationMethod representing the canonicalization algorithm used SAML signature. By Default DigestMethod.SHA1, SignatureMethod.RSA_SHA1 and CanonicalizationMethod.EXCLUSIVE will be used.
        Returns:
        An org.w3c.dom.Element representation of Signed SAML Assertion
        Throws:
        SAMLException
      • sign

        Element sign​(DigestMethod digestMethod,
                     String signatureMethod,
                     PublicKey pubKey,
                     PrivateKey privKey)
              throws SAMLException
        Sign the SAML Assertion - Enveloped Signature
        Parameters:
        digestMethod - A javax.xml.crypto.dsig.DigestMethod representing the digest method used for SAML signature.
        signatureMethod - A javax.xml.crypto.dsig.SignatureMethod representing the signature algorithm used SAML signature.
        pubKey - A java.security.PublicKey representing the public key used for Signature verification
        privKey - A java.security.PrivateKey representing the private key used for Signature calculation. By Default DigestMethod.SHA1, SignatureMethod.RSA_SHA1 and CanonicalizationMethod.EXCLUSIVE will be used.
        Returns:
        An org.w3c.dom.Element representation of Signed SAML Assertion
        Throws:
        SAMLException
      • sign

        Element sign​(DigestMethod digestMethod,
                     String signatureMethod,
                     X509Certificate cert,
                     PrivateKey privKey)
              throws SAMLException
        Sign the SAML Assertion - Enveloped Signature
        Parameters:
        digestMethod - A javax.xml.crypto.dsig.DigestMethod representing the digest method used for SAML signature.
        signatureMethod - A javax.xml.crypto.dsig.SignatureMethod representing the signature algorithm used SAML signature.
        cert - A java.security.cert.X509Certificate representing the certificate used for Signature verification
        privKey - A java.security.PrivateKey representing the private key used for Signature calculation. By Default DigestMethod.SHA1, SignatureMethod.RSA_SHA1 and CanonicalizationMethod.EXCLUSIVE will be used.
        Returns:
        An org.w3c.dom.Element representation of Signed SAML Assertion
        Throws:
        SAMLException
      • sign

        Element sign​(DigestMethod digestMethod,
                     String signatureMethod,
                     X509Certificate cert,
                     PrivateKey privKey,
                     boolean alwaysIncludeCert)
              throws SAMLException
        Sign the SAML Assertion - Enveloped Signature
        Parameters:
        digestMethod - A javax.xml.crypto.dsig.DigestMethod representing the digest method used for SAML signature.
        signatureMethod - A javax.xml.crypto.dsig.SignatureMethod representing the signature algorithm used SAML signature.
        cert - A java.security.cert.X509Certificate representing the certificate used for Signature verification
        privKey - A java.security.PrivateKey representing the private key used for Signature calculation.
        alwaysIncludeCert - A flag to tell whether to incude the certificate in the SAML signature. By Default DigestMethod.SHA1, SignatureMethod.RSA_SHA1 and CanonicalizationMethod.EXCLUSIVE will be used.
        Returns:
        An org.w3c.dom.Element representation of Signed SAML Assertion
        Throws:
        SAMLException
      • setMajorVersion

        void setMajorVersion​(BigInteger value)
        Deprecated.
        Set the saml major version for SAML1.0 and SAML1.1
        Parameters:
        value - A java.math.BigInteger representing saml major version.
      • setMinorVersion

        void setMinorVersion​(BigInteger value)
        Deprecated.
        Set the saml minor version for SAML1.0 and SAML1.1
        Parameters:
        value - A java.math.BigInteger representing saml minor version.
      • setVersion

        void setVersion​(String version)
        Deprecated.
        Set the saml version for SAML2.0
        Parameters:
        version - A java.lang.String representing saml version
      • toElement

        Element toElement​(Node doc)
                   throws XWSSecurityException
        Convert SAML Assertion to org.w3c.dom.Element
        Parameters:
        doc - the context org.w3c.dom.Node for the creation of the resulting org.w3c.dom.Element.
        Returns:
        org.w3c.dom.Element element representation of SAML Assertion
        Throws:
        XWSSecurityException
      • getSamlIssuer

        String getSamlIssuer()
        Get the issuer of SAML Assertion
        Returns:
        An java.lang.String representing saml issuer.
      • getAssertionID

        String getAssertionID()
        Get the SAML Assertion ID for SAML1.0 and SAML1.1
        Returns:
        An java.lang.String representing saml assertion ID.
      • getID

        String getID()
        Get the SAML Assertion ID for SAML2.0
        Returns:
        An java.lang.String representing saml assertion ID.
      • getVersion

        String getVersion()
        Get the SAML Vertion SAML2.0
        Returns:
        An java.lang.String representing saml version.
      • getMajorVersion

        BigInteger getMajorVersion()
        Get the SAML Major Vertion for SAML1.0 and SAML1.1
        Returns:
        An java.math.BigInteger representing saml major version.
      • getMinorVersion

        BigInteger getMinorVersion()
        Get the SAML Minor Vertion for SAML1.0 and SAML1.1
        Returns:
        An java.math.BigInteger representing saml minor version.
      • getIssueInstance

        String getIssueInstance()
        Gets the value of the issueInstant property.
        Returns:
        A String representing the issue timestamp of the SAML Assertion
      • getStatements

        List<Object> getStatements()
        Return all statements presents in the SAML Assertion.
        Returns:
        An java.util.List of java.lang.Object representing all statements present inside the SAML assertion.
      • getConditions

        Conditions getConditions()
        Gets the value of the conditions property of SAML
        Returns:
        A Conditions representing conditions of the SAML Assertion.
      • getAdvice

        Advice getAdvice()
        Gets the value of the advice property of SAML
        Returns:
        An Advice representing Advice element present in the SAML Assertion.
      • getSubject

        Subject getSubject()
        Gets the value of the subject property of SAML 2.0 This method should be applied only on SAML 2.0 assertion. For SAML1.1 and SAML1.0, first get a list of statements of the SAML assertion by calling getStatements() on the Assertion object, then call the getSubject() on each statement.
        Returns:
        A Subject representing Subject of SAML 2.0
      • verifySignature

        boolean verifySignature​(PublicKey pubKey)
                         throws SAMLException
        Verify the SAML signature with the Public Key
        Parameters:
        pubKey - A java.security.PublicKey representing the public key used for Signature verification
        Returns:
        An Boolean representing whether SAML signature verification is successful or not.
        Throws:
        SAMLException