/* * Copyright (C) 2012 Intel Corporation * All rights reserved. */ package com.intel.mtwilson.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import java.security.PublicKey; import java.security.cert.X509Certificate; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.intel.mtwilson.jackson.PublicKeyDeserializer; import com.intel.mtwilson.jackson.PublicKeySerializer; import com.intel.mtwilson.jackson.X509CertificateDeserializer; import com.intel.mtwilson.jackson.X509CertificateSerializer; /** * draft * @author jbuhacoff */ public class Aik { @JsonSerialize(using=PublicKeySerializer.class) @JsonDeserialize(using=PublicKeyDeserializer.class) private PublicKey publicKey; @JsonSerialize(using=X509CertificateSerializer.class) @JsonDeserialize(using=X509CertificateDeserializer.class) private X509Certificate certificate; protected Aik() { } // for desearializing jackson public Aik(PublicKey publicKey) { this.certificate = null; this.publicKey = publicKey; } public Aik(X509Certificate certificate) { this.certificate = certificate; this.publicKey = certificate.getPublicKey(); } public PublicKey getPublicKey() { return publicKey; } public X509Certificate getCertificate() { return certificate; } protected void setPublicKey(PublicKey publicKey) { this.certificate = null; this.publicKey = publicKey; } protected void setCertificate(X509Certificate certificate) { this.certificate = certificate; this.publicKey = certificate.getPublicKey(); } }