/* * Copyright (C) 2014 Intel Corporation * All rights reserved. */ package com.intel.mtwilson.privacyca.v2.model; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; import org.bouncycastle.asn1.ASN1EncodableVector; import org.bouncycastle.asn1.ASN1Sequence; import org.bouncycastle.asn1.DERSequence; import org.bouncycastle.asn1.DEROctetString; /** * * @author jbuhacoff */ @JacksonXmlRootElement(localName="identity_challenge_request") public class IdentityChallengeRequest { private byte[] identityRequest; private byte[] endorsementCertificate; public void setIdentityRequest(byte[] identityRequest) { this.identityRequest = identityRequest; } public void setEndorsementCertificate(byte[] endorsementCertificate) { this.endorsementCertificate = endorsementCertificate; } public byte[] getIdentityRequest() { return identityRequest; } public byte[] getEndorsementCertificate() { return endorsementCertificate; } // @JsonIgnore public byte[] toByteArray() { DEROctetString identityRequestOctets = new DEROctetString(identityRequest); DEROctetString endorsementCertificateOctets = new DEROctetString(endorsementCertificate); ASN1EncodableVector v = new ASN1EncodableVector(); v.add(identityRequestOctets); v.add(endorsementCertificateOctets); DERSequence sequence = new DERSequence(v); return sequence.getDEREncoded(); } public static IdentityChallengeRequest valueOf(ASN1Sequence sequence) { IdentityChallengeRequest identityChallengeRequest = new IdentityChallengeRequest(); identityChallengeRequest.identityRequest = DEROctetString.getInstance(sequence.getObjectAt(0)).getOctets(); identityChallengeRequest.endorsementCertificate = DEROctetString.getInstance(sequence.getObjectAt(1)).getOctets(); return identityChallengeRequest; } public static IdentityChallengeRequest valueOf(byte[] der) { return valueOf(ASN1Sequence.getInstance(der)); } }