Example usage for org.bouncycastle.asn1.esf OcspIdentifier OcspIdentifier

List of usage examples for org.bouncycastle.asn1.esf OcspIdentifier OcspIdentifier

Introduction

In this page you can find the example usage for org.bouncycastle.asn1.esf OcspIdentifier OcspIdentifier.

Prototype

public OcspIdentifier(ResponderID ocspResponderID, ASN1GeneralizedTime producedAt) 

Source Link

Usage

From source file:eu.europa.ec.markt.dss.signature.cades.CAdESProfileC.java

License:Open Source License

/**
 * Create a reference on a OCSPResp/*from  ww  w  .j a v  a  2 s  .c o m*/
 * 
 * @param ocspResp
 * @return
 * @throws NoSuchAlgorithmException
 * @throws OCSPException
 * @throws IOException
 */
private OcspResponsesID makeOcspResponsesID(BasicOCSPResp ocspResp)
        throws NoSuchAlgorithmException, OCSPException, IOException {
    /*
     * We hash the complete response, this is not clear in the TS but the issue was addressed here:
     * http://lists.iaik.tugraz.at/pipermail/jce-general/2007-January/005914.html
     */
    MessageDigest sha1digest = MessageDigest.getInstance(X509ObjectIdentifiers.id_SHA1.getId(),
            new BouncyCastleProvider());

    byte[] digestValue = sha1digest.digest(ocspResp.getEncoded());
    OtherHash hash = new OtherHash(digestValue);

    OcspResponsesID ocsprespid = new OcspResponsesID(new OcspIdentifier(
            ocspResp.getResponderId().toASN1Object(), new DERGeneralizedTime(ocspResp.getProducedAt())), hash);

    LOG.info("Incorporate OcspResponseId[hash=" + Hex.encodeHexString(digestValue) + ",producedAt="
            + ocspResp.getProducedAt());

    return ocsprespid;
}