예제 #1
0
  public static Signature finalizeXadesC(SignedDoc sdoc, Signature sig) throws DigiDocException {
    if (m_logger.isDebugEnabled())
      m_logger.debug("Finalize XAdES-C: " + sig.getId() + " profile: " + sig.getProfile());
    CompleteRevocationRefs rrefs = new CompleteRevocationRefs();
    CompleteCertificateRefs crefs = new CompleteCertificateRefs();
    UnsignedProperties usp = sig.getUnsignedProperties();
    if (usp == null) {
      usp = new UnsignedProperties(sig);
      sig.setUnsignedProperties(usp);
    }
    usp.setCompleteCertificateRefs(crefs);
    usp.setCompleteRevocationRefs(rrefs);
    rrefs.setUnsignedProperties(usp);
    crefs.setUnsignedProperties(usp);
    sig.setUnsignedProperties(usp);
    sig.setProfile(SignedDoc.BDOC_PROFILE_CL);
    // TODO: update certs and refs

    return sig;
  }