Wenn ich versuche, eine Zeichenfolge mit Zertifikat zu konvertieren, wird eine Ausnahme ausgelöst

Ich habe ein Applet, das das Dokument signiert und ein Dokument, ein Zeichen und ein Zertifikat an die Serverseite sendet. Auf der Serverseite empfängt das Portlet diese 3 Dateien. Alle Dateien werden im Base64-Format gespeichert. Wenn ich jedoch versuche, ein Zertifikat abzurufen, wird eine Ausnahme ausgelöst

java.security.cert.CertificateException: Could not parse certificate: java.io.IOException: Empty input
at sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:104)

Seitencode des Applets:

public static byte[] certificate;

public static String getCertificateString() {
        String str = "";
        byte[] result = null;
        result = Base64.encode(certificate);
        for (int i = 0; i < result.length; i++) {
            str += (char) (result[i]);
        }
        return str;
    }

    //initialization of certificate from the store
    Certificate cert = store.getCertificate(aliasKey);
    certificate = cert.toString().getBytes();

Danach sende ich ein Zertifikat an das Portlet, wo das Zeichen überprüft werden muss. Die Zertifikatkonvertierung ist jedoch fehlgeschlagen.

Portlet-Code:

String certificate = request.getParameter("cert");
byte[] cert_array = Base64.decode(certificate.getBytes());
try {
    cert = CertificateFactory.getInstance("X509").generateCertificate(new ByteArrayInputStream(cert_array));
}catch(Exception e){
    e.printStackTrace();
}

Zu diesem Zeitpunkt wird im try-Block die Exception ausgelöst

Antworten auf die Frage(2)

Ihre Antwort auf die Frage