From ab05cb01a6c76fb280120246a5dd20ebc552aaa7 Mon Sep 17 00:00:00 2001 From: clemenso Date: Thu, 23 Dec 2010 19:24:55 +0000 Subject: refactor ObjectDirectory git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@855 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4 --- .../at/gv/egiz/smcc/CIOCertificateDirectory.java | 33 +++------------------- 1 file changed, 4 insertions(+), 29 deletions(-) (limited to 'smcc/src/main/java/at/gv/egiz/smcc/CIOCertificateDirectory.java') diff --git a/smcc/src/main/java/at/gv/egiz/smcc/CIOCertificateDirectory.java b/smcc/src/main/java/at/gv/egiz/smcc/CIOCertificateDirectory.java index a9886e80..122c4e7d 100644 --- a/smcc/src/main/java/at/gv/egiz/smcc/CIOCertificateDirectory.java +++ b/smcc/src/main/java/at/gv/egiz/smcc/CIOCertificateDirectory.java @@ -17,6 +17,7 @@ package at.gv.egiz.smcc; +import at.gv.egiz.smcc.cio.CIOCertificate; import at.gv.egiz.smcc.util.ISO7816Utils; import at.gv.egiz.smcc.util.TLVSequence; import iaik.me.asn1.ASN1; @@ -32,13 +33,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * + * TODO To be replaced by at.gv.egiz.smcc.cio.CIOCertificateDirectory + * * @author clemens */ public class CIOCertificateDirectory { - protected static final boolean RETRIEVE_AUTH_ID_FROM_ASN1 = Boolean.TRUE; - protected static final Logger log = LoggerFactory.getLogger(CIOCertificateDirectory.class); protected byte[] fid; protected List cios; @@ -127,29 +127,8 @@ public class CIOCertificateDirectory { } protected void addCIOCertificate(byte[] cio) throws IOException { - - ASN1 x509Certificate = new ASN1(cio); - - CIOCertificate cioCert = new CIOCertificate(); - cioCert.setLabel(x509Certificate.getElementAt(0).getElementAt(0).gvString()); - if(retrieveAuthIdFromASN1()) { - cioCert.setAuthId(x509Certificate.getElementAt(0).getElementAt(2).gvByteArray()); - } - cioCert.setiD(x509Certificate.getElementAt(1).getElementAt(0).gvByteArray()); - //read CONTEXTSPECIFIC manually - byte[] ctxSpecific = x509Certificate.getElementAt(x509Certificate.getSize()-1).getEncoded(); - if ((ctxSpecific[0] & 0xff) == 0xa1) { - int ll = ((ctxSpecific[1] & 0xf0) == 0x80) - ? (ctxSpecific[1] & 0x0f) + 2 : 2; - ASN1 x509CertificateAttributes = new ASN1(Arrays.copyOfRange(ctxSpecific, ll, ctxSpecific.length)); - - cioCert.setEfidOrPath(x509CertificateAttributes.getElementAt(0).getElementAt(0).gvByteArray()); - - } else { - log.warn("expected CONTEXTSPECIFIC, got 0x{}", - Integer.toHexString(ctxSpecific[0])); - } + CIOCertificate cioCert = new CIOCertificate(cio); log.debug("adding {}", cioCert); cios.add(cioCert); @@ -160,8 +139,4 @@ public class CIOCertificateDirectory { return cios; } - protected boolean retrieveAuthIdFromASN1() { - - return RETRIEVE_AUTH_ID_FROM_ASN1; - } } -- cgit v1.2.3