package org.bouncycastle.dvcs;

import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.ASN1OctetString;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.cms.ContentInfo;
import org.bouncycastle.asn1.cms.SignedData;
import org.bouncycastle.asn1.dvcs.DVCSObjectIdentifiers;
import org.bouncycastle.cms.CMSSignedData;

DVCResponse is general response to DVCS (RFC 3029). It represents responses for all types of services.
/** * DVCResponse is general response to DVCS (RFC 3029). * It represents responses for all types of services. */
public class DVCSResponse extends DVCSMessage { private org.bouncycastle.asn1.dvcs.DVCSResponse asn1;
Constructs DVCResponse from CMS SignedData object.
Params:
  • signedData – the CMS SignedData object containing the request
Throws:
/** * Constructs DVCResponse from CMS SignedData object. * * @param signedData the CMS SignedData object containing the request * @throws org.bouncycastle.dvcs.DVCSConstructionException */
public DVCSResponse(CMSSignedData signedData) throws DVCSConstructionException { this(SignedData.getInstance(signedData.toASN1Structure().getContent()).getEncapContentInfo()); }
Construct a DVCS Response from a ContentInfo
Params:
  • contentInfo – the contentInfo representing the DVCSRequest
Throws:
/** * Construct a DVCS Response from a ContentInfo * * @param contentInfo the contentInfo representing the DVCSRequest * @throws org.bouncycastle.dvcs.DVCSConstructionException */
public DVCSResponse(ContentInfo contentInfo) throws DVCSConstructionException { super(contentInfo); if (!DVCSObjectIdentifiers.id_ct_DVCSResponseData.equals(contentInfo.getContentType())) { throw new DVCSConstructionException("ContentInfo not a DVCS Response"); } try { if (contentInfo.getContent().toASN1Primitive() instanceof ASN1Sequence) { this.asn1 = org.bouncycastle.asn1.dvcs.DVCSResponse.getInstance(contentInfo.getContent()); } else { this.asn1 = org.bouncycastle.asn1.dvcs.DVCSResponse.getInstance(ASN1OctetString.getInstance(contentInfo.getContent()).getOctets()); } } catch (Exception e) { throw new DVCSConstructionException("Unable to parse content: " + e.getMessage(), e); } }
Return the ASN.1 DVCSResponse structure making up the body of this response.
Returns:an org.bouncycastle.asn1.dvcs.DVCSResponse object.
/** * Return the ASN.1 DVCSResponse structure making up the body of this response. * * @return an org.bouncycastle.asn1.dvcs.DVCSResponse object. */
public ASN1Encodable getContent() { return asn1; } }