Example usage for java.security GeneralSecurityException getCause

List of usage examples for java.security GeneralSecurityException getCause

Introduction

In this page you can find the example usage for java.security GeneralSecurityException getCause.

Prototype

public synchronized Throwable getCause() 

Source Link

Document

Returns the cause of this throwable or null if the cause is nonexistent or unknown.

Usage

From source file:facturatron.facturacion.PAC.finkok.ClassicKeyLoader.java

private static byte[] getCertBytes(InputStream in, char[] passwd) throws KeyException, IOException {
    byte[] bytes = null;
    try {//from ww  w  . j a  v a  2s  .c  o m
        PKCS8Key pkcs8 = new PKCS8Key(in, passwd);
        bytes = pkcs8.getDecryptedBytes();
    } catch (GeneralSecurityException e) {
        throw new KeyException("La contrasea del certificado no es correcta", e.getCause());
    } finally {
        in.close();
    }

    return bytes;
}

From source file:facturatron.facturacion.PAC.finkok.ClassicKeyLoader.java

/**
 * @param crtInputStream    Flujo de entrada del certificado del cual se obtiene la llave privada
 * @param passwd            Contrasea con la cual se puede obtener la informacin de la llave
 *                          privada/*  w  ww  . j a  va 2 s .c  om*/
 *
 * @return  Llave privada encapsulada en el objeto {@link PrivateKey}
 *
 * @throws KeyException Lanzada si existe un problema con la lectura de la llave privada. La
 *                      excepcin es lanzada si alguno de estos casos se presenta:
 *                      <ul>
 *                          <li>
 *                              Error de lectura del flujo de entrada del documento.
 *                          </li>
 *                          <li>
 *                              Error en la obtencn de la informacin de la llave privada debido
 *                              a que la contrasea no es correcta.
 *                          </li>
 *                          <li>
 *                              Error en la obtencin de la llave privada debido a que el algoritmo
 *                              de cifrado no es el adecuado para el certificado.
 *                          </li>
 *                      </ul>
 */
public static PrivateKey loadPKCS8PrivateKey(InputStream crtInputStream, String passwd) throws KeyException {
    byte[] decrypted = null;
    PrivateKey privateKey = null;

    try {
        decrypted = (passwd != null) ? getCertBytes(crtInputStream, passwd.toCharArray())
                : getBytes(crtInputStream);
    } catch (IOException ioe) {
        throw new KeyException("Error de E/S al leer la informacin del certificado", ioe.getCause());
    }

    PKCS8EncodedKeySpec keysp = new PKCS8EncodedKeySpec(decrypted);

    try {
        KeyFactory kf = KeyFactory.getInstance("RSA");
        privateKey = kf.generatePrivate(keysp);
    } catch (GeneralSecurityException gse) {
        throw new KeyException("Error al obtener la informacin del certificado debido a su codificacin",
                gse.getCause());
    }

    return privateKey;
}

From source file:org.glite.slcs.dn.impl.SimplePatternBuilder.java

/**
 * Validates and returns the normalized DN.
 * // w  ww. ja v a  2 s. co  m
 * @param dn
 *            The subject DN to validate and normalize.
 * @return The validated, normalized DN.
 * @throws SLCSException
 *             if a validation error occurs.
 */
public String validateDN(String dn) throws SLCSException {
    X509PrincipalUtil utility = new X509PrincipalUtil();
    X509Principal principal;
    try {
        principal = utility.createX509Principal(dn);
        String principalName = principal.getName();
        LOG.debug("X509Principal: " + principalName);
        return principalName;
    } catch (GeneralSecurityException e) {
        LOG.error(e);
        throw new ServiceException("Invalid DN " + dn + ": " + e.getMessage(), e.getCause());
    }
}