/** * Sign a document * @param doc * @param idValueOfAssertion * @param keypair * @param referenceURI * @return * @throws ParserConfigurationException * @throws XPathException * @throws TransformerFactoryConfigurationError * @throws TransformerException * @throws GeneralSecurityException * @throws MarshalException * @throws XMLSignatureException */ public Document sign(Document doc, String idValueOfAssertion, KeyPair keypair, String referenceURI) throws ParserConfigurationException, XPathException, TransformerFactoryConfigurationError, TransformerException, GeneralSecurityException, MarshalException, XMLSignatureException { Node assertionNode = DocumentUtil.getNodeWithAttribute(doc, JBossSAMLURIConstants.ASSERTION_NSURI.get(), "Assertion", "ID", idValueOfAssertion); return XMLSignatureUtil.sign(doc, assertionNode, keypair, digestMethod, signatureMethod, referenceURI); }