/*
* ReadStore.java
*
* Created on 12.09.2007, 18:17:58
* This File is part of PortableSigner (http://portablesigner.sf.net/)
* and is under the European Public License V1.1 (http://www.osor.eu/eupl)
* (c) Peter Pfl�ging <peter@pflaeging.net>
*/
package net.pflaeging.PortableSigner;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.cert.CertificateException;
import java.util.NoSuchElementException;
import java.util.Enumeration;
//import sun.security.x509.*;
/**
*
* @author pfp
*/
public class ReadStore {
public static PSCertificate[] certs = new PSCertificate[100];
public ReadStore() {
KeyStore ks = null;
try {
try {
if (Main.platform.equals("mac")) {
ks = KeyStore.getInstance("KeychainStore", "Apple");
} else if (Main.platform.equals("windows")) {
ks = KeyStore.getInstance("Windows-MY");
}
ks.load(null, null);
} catch (NoSuchProviderException e) {
System.err.println("Beim Lesen des Keystores trat ein Fehler auf (Algorithmus)!");
}
} catch (NoSuchAlgorithmException e) {
System.err.println("Beim Lesen des Zertifikates trat ein Fehler auf (Algorithmus)!");
} catch (CertificateException e) {
System.err.println("Beim Lesen des Zertifikates trat ein Fehler auf (Zertifikatsfehler)");
} catch (FileNotFoundException e) {
System.err.println("Beim Lesen des Zertifikates trat ein Fehler auf (Datei nicht zugreifbar)");
} catch (IOException e) {
System.err.println("Beim Lesen des Zertifikates trat ein Fehler auf (EA Fehler)");
} catch (KeyStoreException e) {
System.err.println("Beim Lesen des Zertifikates trat ein Fehler auf (Datei nicht zugreifbar)");
}
if (ks != null) {
String alias = "";
try {
int count = 0;
Enumeration<String> aliasEnum = ks.aliases();
for (; aliasEnum.hasMoreElements();) {
String key = aliasEnum.nextElement();
//if (!ks.isCertificateEntry(key)) {
if (count < certs.length) {
certs[count] = new PSCertificate(key, ks);
count++;
}
}
} catch (NoSuchElementException e) {
System.err.println("Beim Lesen des Zertifikates trat ein Fehler auf (Keine Schl?ssel)");
} catch (KeyStoreException e) {
System.err.println("Beim Lesen des Zertifikates trat ein Fehler auf (Datei nicht zugreifbar)");
}
}
}
}