All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bouncycastle.oer.its.ieee1609dot2.ToBeSignedData Maven / Gradle / Ivy

package org.bouncycastle.oer.its.ieee1609dot2;

import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.ASN1Object;
import org.bouncycastle.asn1.ASN1Primitive;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.DERSequence;

/**
 * 
 *     ToBeSignedData ::= SEQUENCE {
 *         payload SignedDataPayload,
 *         headerInfo HeaderInfo
 *     }
 * 
*/ public class ToBeSignedData extends ASN1Object { private final SignedDataPayload payload; private final HeaderInfo headerInfo; public ToBeSignedData(SignedDataPayload payload, HeaderInfo headerInfo) { this.payload = payload; this.headerInfo = headerInfo; } private ToBeSignedData(ASN1Sequence sequence) { if (sequence.size() != 2) { throw new IllegalArgumentException("expected sequence size of 2"); } this.payload = SignedDataPayload.getInstance(sequence.getObjectAt(0)); this.headerInfo = HeaderInfo.getInstance(sequence.getObjectAt(1)); } public static ToBeSignedData getInstance(Object o) { if (o instanceof ToBeSignedData) { return (ToBeSignedData)o; } if (o != null) { return new ToBeSignedData(ASN1Sequence.getInstance(o)); } return null; } public SignedDataPayload getPayload() { return payload; } public HeaderInfo getHeaderInfo() { return headerInfo; } public ASN1Primitive toASN1Primitive() { return new DERSequence(new ASN1Encodable[]{payload, headerInfo}); } public static Builder builder() { return new Builder(); } public static class Builder { private SignedDataPayload payload; private HeaderInfo headerInfo; public Builder setPayload(SignedDataPayload payload) { this.payload = payload; return this; } public Builder setHeaderInfo(HeaderInfo headerInfo) { this.headerInfo = headerInfo; return this; } public ToBeSignedData createToBeSignedData() { return new ToBeSignedData(payload, headerInfo); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy