2016-03-30 9 views
2

Kann jemand ein Attributzertifikat in eine Datei schreiben. Sowie das Byte [] zu lesen und das in ein Attributzertifikat umzuwandeln?BouncyCastle AttributCertificate zu Datei und umgekehrt

+0

Sie in [X509AttributeCertificateHolder] (https://www.bouncycastle.org/docs/pkixdocs1.4/org/bouncycastle/cert/X509AttributeCertificateHolder.html) – Rhayene

+1

Dank aussehen wollen, war in der Lage, das Problem zu lösen. –

+1

zögern Sie nicht, Ihre eigene Frage zu beantworten – Rhayene

Antwort

0

Es ist möglich, die Codierung des Zertifikats zu verwenden:

X509V2AttributeCertificate certitificate = new X509V2AttributeCertificate(attributeCertificateHolder.getEncoded()); 

// Store to file 
String fileName = "test.txt"; 
FileOutputStream fos = new FileOutputStream(fileName); 
fos.write(certitificate.getEncoded()); 
fos.close(); 

// Read from file 
byte[] readCertificate = Files.readAllBytes(new File(fileName).toPath()); 
X509V2AttributeCertificate decodedCertificate = new X509V2AttributeCertificate(readCertificate); 

Es gibt eine andere Option besteht das Byte-Array und dekodieren zu einem Zertifikat zu lesen:

X509AttrCertParser parser = new X509AttrCertParser(); 
parser.engineInit(new FileInputStream(fileName)); 
X509AttributeCertificate certificate = (X509AttributeCertificate) parser.engineRead(); 

Schließlich gibt es eine Problem mit der X509AttributeCertificate, weil es veraltet ist. Ich habe bis jetzt keine Lösung dafür gefunden. Hinweise für diese Lösung stammen aus Bouncycastle: X509CertificateHolder to X509Certificate?.