edu.uoc.pfc.commons.security
Class CertificateHelper

java.lang.Object
  extended by edu.uoc.pfc.commons.security.CertificateHelper

public class CertificateHelper
extends Object

Classe encarregada de manipular certificats i d'obtenir els certificats, claus públiques, cadenes de certificació i claus privades a partir d'un keystore.

Author:
Rubén Salvador Gareta

Field Summary
static String CERT_FORMAT
          Format de certificats acceptat: X.509
static String KEYSTORE_FORMAT
          Format de keystores acceptat: PKCS#12
 
Constructor Summary
CertificateHelper()
          Mètode constructor de la classe.
 
Method Summary
 Certificate getCertificate(KeyStore keyStore, String alias)
          Mètode amb el qual s'obté un certificat d'un keystore a partir del seu alias.
 String getCertificateB64Format(Certificate cert)
          Mètode amb el qual s'obtindrà un certificat codificat en Base64.
 Certificate getCertificateFromB64Format(String b64Cert)
          Mètode amb el qual s'obtindrà un certificat a partir de la seva codificació en Base64.
 Certificate getCertificateFromInputStream(InputStream isCert)
          Mètode amb el qual s'obtè un objecte Certificate a partir del InputStream del fitxer.
 Certificate[] getCertificatePath(KeyStore keyStore, String alias)
          Mètode amb el qual s'obté la cadena de certificació d'un keystore a partir del alias del certificat al qual pertany.
 KeyStore getKeystoreFromInputStream(InputStream isKeyStore, char[] password)
          Mètode amb el qual s'obtè un objecte KeyStore a partir del InputStream del fitxer.
 PrivateKey getPrivateKey(KeyStore keyStore, String alias, char[] password)
          Mètode amb el qual d'obté una clau privada d'un keystore a partir del seu alias.
 PublicKey getPublicKey(KeyStore keyStore, String alias)
          Mètode amb el qual s'obté una clau pública d'un keystore a partir del alias del certificat al qual pertany.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CERT_FORMAT

public static String CERT_FORMAT
Format de certificats acceptat: X.509


KEYSTORE_FORMAT

public static String KEYSTORE_FORMAT
Format de keystores acceptat: PKCS#12

Constructor Detail

CertificateHelper

public CertificateHelper()
Mètode constructor de la classe.

Method Detail

getCertificate

public Certificate getCertificate(KeyStore keyStore,
                                  String alias)
                           throws CertificateHelperException
Mètode amb el qual s'obté un certificat d'un keystore a partir del seu alias.

Parameters:
keyStore - Keystore on es troba el certificat que es vol obtenir.
alias - Identificador amb el qual es troba indexat el certificat dins del keystore.
Returns:
Certificat obtingut.
Throws:
CertificateHelperException

getPublicKey

public PublicKey getPublicKey(KeyStore keyStore,
                              String alias)
                       throws CertificateHelperException
Mètode amb el qual s'obté una clau pública d'un keystore a partir del alias del certificat al qual pertany.

Parameters:
keyStore - Keystore on es troba el certificat la clau pública del qual que es vol obtenir.
alias - Identificador amb el qual es troba indexat el certificat dins del keystore.
Returns:
Clau pública obtinguda.
Throws:
CertificateHelperException

getCertificatePath

public Certificate[] getCertificatePath(KeyStore keyStore,
                                        String alias)
                                 throws CertificateHelperException
Mètode amb el qual s'obté la cadena de certificació d'un keystore a partir del alias del certificat al qual pertany.

Parameters:
keyStore - Keystore on es troba el certificat la cadena de certificació del qual que es vol obtenir.
alias - Identificador amb el qual es troba indexat el certificat dins del keystore.
Returns:
Cadena de certificació obtinguda.
Throws:
CertificateHelperException

getPrivateKey

public PrivateKey getPrivateKey(KeyStore keyStore,
                                String alias,
                                char[] password)
                         throws CertificateHelperException
Mètode amb el qual d'obté una clau privada d'un keystore a partir del seu alias.

Parameters:
keyStore - Keystore on es troba la clau privada que es vol obtenir.
alias - Identificador amb el qual es troba indexada la clau privada dins del keystore.
password - Contrasenya de la clau privada.
Returns:
Clau privada obtinguda.
Throws:
CertificateHelperException

getKeystoreFromInputStream

public KeyStore getKeystoreFromInputStream(InputStream isKeyStore,
                                           char[] password)
                                    throws CertificateHelperException
Mètode amb el qual s'obtè un objecte KeyStore a partir del InputStream del fitxer.

Parameters:
isKeyStore - InputStream del Keystore.
Returns:
Objecte KeyStore.
Throws:
CertificateHelperException

getCertificateFromInputStream

public Certificate getCertificateFromInputStream(InputStream isCert)
                                          throws CertificateHelperException
Mètode amb el qual s'obtè un objecte Certificate a partir del InputStream del fitxer.

Parameters:
isCert - InputStream del certificat.
Returns:
Objecte Certificate.
Throws:
CertificateHelperException

getCertificateB64Format

public String getCertificateB64Format(Certificate cert)
                               throws CertificateHelperException
Mètode amb el qual s'obtindrà un certificat codificat en Base64.

Parameters:
cert - InputStream del certificat.
Returns:
Codificació del certificat en Base64.
Throws:
CertificateHelperException

getCertificateFromB64Format

public Certificate getCertificateFromB64Format(String b64Cert)
                                        throws CertificateHelperException
Mètode amb el qual s'obtindrà un certificat a partir de la seva codificació en Base64.

Parameters:
b64Cert - Codificació del certificat en Base64.
Returns:
Certificat decodificat.
Throws:
CertificateHelperException