public SignatureFakingOracle(final String documentString) throws SignatureFakingException {
  Security.addProvider(new BouncyCastleProvider());
  signatureValueElements=new LinkedList<Node>();
  keyInfoElements=new LinkedList<Node>();
  certificates=new LinkedList<String>();
  certHandlers=new LinkedList<CertificateHandler>();
  try {
    doc=DomUtilities.stringToDom(documentString);
    crawlSignatureElements();
    log.debug("found " + signatureValueElements.size() + " SignatureValue elements");
    crawlKeyInfoElements();
    log.debug("found " + keyInfoElements.size() + " KeyInfo elements containing X509 certificates");
  }
 catch (  SAXException e) {
    throw new SignatureFakingException(e);
  }
}

public SignatureFakingOracle ( final String documentString ) throws SignatureFakingException { Security . addProvider ( new BouncyCastleProvider ( ) ) ; signatureValueElements = new LinkedList < Node > ( ) ; keyInfoElements = new LinkedList < Node > ( ) ; certificates = new LinkedList < String > ( ) ; certHandlers = new LinkedList < CertificateHandler > ( ) ; try { doc = DomUtilities . stringToDom ( documentString ) ; crawlSignatureElements ( ) ; log . debug ( "found " + signatureValueElements . size ( ) + " SignatureValue elements" ) ; crawlKeyInfoElements ( ) ; log . debug ( "found " + keyInfoElements . size ( ) + " KeyInfo elements containing X509 certificates" ) ; } catch ( SAXException e ) { throw new SignatureFakingException ( e ) ; } }
creates signaturewrappingoracle , parses the document and searches for all the signaturevalue and keyinfo elements
