/*
* Copyright (C) 2014 Intel Corporation
* All rights reserved.
*/
package com.intel.mtwilson.trustagent;
import com.intel.dcsg.cpg.x509.X509Util;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import org.apache.commons.io.FileUtils;
/**
*
* @author jbuhacoff
*/
public class TrustagentRepository {
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(TrustagentRepository.class);
private TrustagentConfiguration configuration;
public TrustagentRepository(TrustagentConfiguration configuration) {
this.configuration = configuration;
}
public X509Certificate getExistingAikCertificate() throws IOException, CertificateException {
File aikCertificateFile = configuration.getAikCertificateFile();
if( !aikCertificateFile.exists() ) {
throw new FileNotFoundException(aikCertificateFile.getAbsolutePath());
}
String aikPem = FileUtils.readFileToString(aikCertificateFile);
X509Certificate aikCertificate = X509Util.decodePemCertificate(aikPem);
return aikCertificate;
}
public X509Certificate getAikCertificate() throws IOException, CertificateException {
try {
X509Certificate aik = getExistingAikCertificate();
return aik;
}
catch(IOException | CertificateException e) {
log.debug("Cannot load AIK certificate", e);
return null;
}
}
}