2010-12-11 2 views
20

Haben Sie den Unterschied im Titel erkannt? (für mich dauerte es eine Weile)javax.security.cert.X509Zertifikat vs java.security.cert.X509Certificate?

Also habe ich Hüpfburg mit Verbindung zu java.security.cert.X509Certificate in der Reihenfolge verwendet, um Zertifikate zu erstellen. Jetzt suche ich nach einer Möglichkeit, eine java.security.cert.X509Certificate aus rohen Bytes zu erstellen. Ich habe keine Methode, dies in java.security.cert.X509Certificate zu tun, aber es gibt eine (die getInstance statische Methode) in javax.security.cert.X509Certificate.

Das Problem ist, ich kann javax.security.cert.X509Certificate zu java.security.cert.X509Certificate nicht werfen.

Haben Sie Ideen, was zu tun ist, um rohe Bytes in eine java.security.cert.X509Certificate zu transformieren?

Auch, was sind die Unterschiede zwischen der abstrakten Klasse und der anderen Klasse? Warum hat Java zwei davon mit unterschiedlicher Funktionalität?

Antwort

24

Die javax-Version ist veraltet. Verwenden Sie CertificateFactory, um ein Zertifikat aus Rohbytes zu generieren. Es gibt ein Beispiel in den Javadocs.

+0

Danke. Das habe ich vermisst. –

6

Dies ist für mich passiert, weil ich j2se aber importierte Javax-Klassen verwende. Zertifikat- und X509Certificate-Klassen existieren sowohl in J2SE als auch in J2EE.

Importe in J2SE - Nicht javax.security ...

import java.security.KeyStore; 
import java.security.cert.CertificateFactory; 
import java.security.cert.X509Certificate; 

Import java.security.cert.Certificate;

Nicht diese.

import javax.security.cert.X509Certificate; 
Verwandte Themen