Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/07/2009, 15:59
Avatar de alrik
alrik
 
Fecha de Ingreso: enero-2005
Mensajes: 45
Antigüedad: 20 años
Puntos: 0
Respuesta: certificado y firma digital

Reviviendo el tema, a ver tengo mas o menos la solución pero me faltan cosas.

Código:
import java.security.*;
import java.security.spec.*;

String key = "-----BEGIN CERTIFICATE-----" +
                "MIIDpTCCAw6gAwIBAgIJANgchXrpgvXcMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD" +
                "VQQGEwJFUzEPMA0GA1UECBMGTWFkcmlkMQ8wDQYDVQQHEwZNYWRyaWQxFDASBgNV" +
                "BAoTC21zZnNvZnR3YXJlMQ8wDQYDVQQLEwZrZXl6YW0xFzAVBgNVBAMTDnd3dy5r" +
                "ZXl6YW0uY29tMSMwIQYJKoZIhvcNAQkBFhRpbmZvQG1zZnNvZnR3YXJlLmNvbTAe" +
                "Fw0wOTA3MDIyMDMzMjBaFw0xMDA3MDIyMDMzMjBaMIGUMQswCQYDVQQGEwJFUzEP" +
                "MA0GA1UECBMGTWFkcmlkMQ8wDQYDVQQHEwZNYWRyaWQxFDASBgNVBAoTC21zZnNv" +
                "ZnR3YXJlMQ8wDQYDVQQLEwZrZXl6YW0xFzAVBgNVBAMTDnd3dy5rZXl6YW0uY29t" +
                "MSMwIQYJKoZIhvcNAQkBFhRpbmZvQG1zZnNvZnR3YXJlLmNvbTCBnzANBgkqhkiG" +
                "9w0BAQEFAAOBjQAwgYkCgYEAxluS0xZanQPySJfsGmjbf8+IwS44OvaVIKZBJQ8C" +
                "CNydfl8X4pKUbmzThms+tA5YZiEhjDkwUApZP0ac19O68DbPpWJlv8shjKch9cVo" +
                "odJoWa9RUmkKPZvs0ziBtNlejfRws4nKSL7y/HtWgquPWKfzPX01J6FBWQmISCZQ" +
                "FwUCAwEAAaOB/DCB+TAdBgNVHQ4EFgQUfHNglvzAX1O19R8gwNPdr/npHAYwgckG" +
                "A1UdIwSBwTCBvoAUfHNglvzAX1O19R8gwNPdr/npHAahgZqkgZcwgZQxCzAJBgNV" +
                "BAYTAkVTMQ8wDQYDVQQIEwZNYWRyaWQxDzANBgNVBAcTBk1hZHJpZDEUMBIGA1UE" +
                "ChMLbXNmc29mdHdhcmUxDzANBgNVBAsTBmtleXphbTEXMBUGA1UEAxMOd3d3Lmtl" +
                "eXphbS5jb20xIzAhBgkqhkiG9w0BCQEWFGluZm9AbXNmc29mdHdhcmUuY29tggkA" +
                "2ByFeumC9dwwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQBZboTUJvra" +
                "YbpmNwBmHyeuRXhKgw7tOpai6nVFzS8l/z1QFZrAPTcDtOoyKWAwYqg+jlkcH72t" +
                "7axKB/i/HI+RUNbq6Xk/Cpdpvso1RBSo7aMR3o5duCPT/zf87P0BCipKciqTJ/dN" +
                "4aimzgbq/S7eh3OY8H4+LhZgDnAqFcLxxA==" +
                "-----END CERTIFICATE-----";
        
        byte[] encKey = key.getBytes();
        //X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(encKey);
        X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(encKey);

        KeyFactory keyFactory1;
        PublicKey pubKey;
        try {
            keyFactory1 = KeyFactory.getInstance("RSA");
            try {
                pubKey = keyFactory1.generatePublic(pubKeySpec);
            } catch (InvalidKeySpecException ex) {
                JOptionPane.showMessageDialog(this,ex.getMessage());
            }
        } catch (NoSuchAlgorithmException ex) {
            JOptionPane.showMessageDialog(this,ex.getMessage());
        }
Funciona pero me da un error diciendo que la clave no es válida.

¿Alguien sabe cómo solucionarlo? He leido por ahí que es por que el chisme este no acepta los .pem pero claro... es lo que tengo y no puedo andar convirtiéndolo.

¿Alguien sabe como se podría solucionar sin tener que pasar el String a .der? que pa empezar no se puede por que el .der es binario pro weno....