org.kth.pdc.grid.utility
Class CertManager

java.lang.Object
  extended by org.kth.pdc.grid.utility.CertManager

public class CertManager
extends Object


Constructor Summary
CertManager()
          Constructor of certificate manager
 
Method Summary
 byte[] createCertificateRequest(org.bouncycastle.asn1.x509.X509Name subjectDN, String sigAlgName, KeyPair keyPair)
          Creates a certificate request from the specified subject name, signing algorithm, and a key pair.
 void createCertRequest()
           
 void createCertRequest(InputStream inCert, InputStream inKey, String pwd)
          create a user certificate request from a given certificate
 byte[] createCertRequest(String subject, KeyPair keyPair)
          Creating a certificate request from a given subject DN and a key pair.
 void createCertRequest(X509Certificate inUserCert, KeyPair kp)
          create a user certificate request from existing certificate and keypair
 org.bouncycastle.jce.PKCS10CertificationRequest createCertRequestBC()
          Create a certificate request from CN, OU
 void generateX509Certificate(byte[] req)
           
 String getCertRequestinPEM(org.bouncycastle.jce.PKCS10CertificationRequest certReq)
           
 PrivateKey getPrivateKey()
          Getting user private key
 PublicKey getPublicKey()
          Getting user public key
 X509Certificate getSignedCert()
          Getting generated signed certificate
 X509Certificate getUserCert()
          Getting user certificate in X509 format
 String getUserCertRequest()
          Getting user certificate
 String getUserPemCert()
          Getting generated user certificate in PEM
 String getUserPemKey()
          Getting User private key in PEM
 void saveSignedCert(String fileName)
          Save a signed certificate (PEM encoded)
 void setDNname(String uDN)
          Set user DN
 void setDNname(String org, String orgUnit, String cn, String country, String email)
          Set user DN
 void signCert(InputStream inRq, InputStream inCACert, InputStream inCAKey, String caPwd)
          Signs a Cert request
 void UserCertFromFile(String FileName)
          Reads the user certificate and public key from a file
 void UserCertFromString(String certString)
          Reads the user certificate and public key from a string
 void UserPrivateKeyFromFile(String FileName, String pwd)
          Reads the user private key from a file
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CertManager

public CertManager()
            throws Exception
Constructor of certificate manager

Throws:
Exception
Method Detail

UserCertFromFile

public void UserCertFromFile(String FileName)
                      throws Exception
Reads the user certificate and public key from a file

Parameters:
FileName -
Throws:
Exception

UserCertFromString

public void UserCertFromString(String certString)
                        throws Exception
Reads the user certificate and public key from a string

Parameters:
certString -
Throws:
Exception

UserPrivateKeyFromFile

public void UserPrivateKeyFromFile(String FileName,
                                   String pwd)
                            throws Exception
Reads the user private key from a file

Parameters:
FileName -
pwd -
Throws:
Exception

setDNname

public void setDNname(String uDN)
Set user DN

Parameters:
uDN -

setDNname

public void setDNname(String org,
                      String orgUnit,
                      String cn,
                      String country,
                      String email)
Set user DN

Parameters:
org - Organization Name
orgUnit - Organizatio Unit
cn - Common Name
country - Country
email - Email Address

createCertRequest

public byte[] createCertRequest(String subject,
                                KeyPair keyPair)
                         throws GeneralSecurityException
Creating a certificate request from a given subject DN and a key pair.

Parameters:
subject - the subject of the certificate request
keyPair - the key pair of the certificate request
Returns:
the certificate request.
Throws:
GeneralSecurityException - if security error occurs.

createCertRequest

public void createCertRequest(InputStream inCert,
                              InputStream inKey,
                              String pwd)
create a user certificate request from a given certificate

Parameters:
inCert - Existing user certificate
inKey - Private key
pwd - Password to encrypt the key

createCertRequest

public void createCertRequest(X509Certificate inUserCert,
                              KeyPair kp)
create a user certificate request from existing certificate and keypair

Parameters:
inUserCert - Existing user certificate
kp - keypair

createCertRequestBC

public org.bouncycastle.jce.PKCS10CertificationRequest createCertRequestBC()
                                                                    throws IOException,
                                                                           NoSuchProviderException,
                                                                           NoSuchAlgorithmException
Create a certificate request from CN, OU

Throws:
IOException
NoSuchProviderException
NoSuchAlgorithmException

getCertRequestinPEM

public String getCertRequestinPEM(org.bouncycastle.jce.PKCS10CertificationRequest certReq)
                           throws IOException
Throws:
IOException

createCertRequest

public void createCertRequest()
                       throws IOException,
                              NoSuchProviderException,
                              NoSuchAlgorithmException
Throws:
IOException
NoSuchProviderException
NoSuchAlgorithmException

createCertificateRequest

public byte[] createCertificateRequest(org.bouncycastle.asn1.x509.X509Name subjectDN,
                                       String sigAlgName,
                                       KeyPair keyPair)
                                throws GeneralSecurityException
Creates a certificate request from the specified subject name, signing algorithm, and a key pair.

Parameters:
subjectDN - the subject name of the certificate request.
sigAlgName - the signing algorithm name.
keyPair - the key pair of the certificate request
Returns:
the certificate request.
Throws:
GeneralSecurityException - if security error occurs.

signCert

public void signCert(InputStream inRq,
                     InputStream inCACert,
                     InputStream inCAKey,
                     String caPwd)
              throws IOException,
                     NoSuchAlgorithmException,
                     NoSuchProviderException,
                     InvalidKeyException,
                     GeneralSecurityException
Signs a Cert request

Parameters:
inRq - Input stream of certificate
inCACert - Cert stream of issuer certificate
inCAKey - key stream of issuer key
caPwd - password of issuer key
Throws:
IOException
NoSuchAlgorithmException
NoSuchProviderException
InvalidKeyException
GeneralSecurityException

saveSignedCert

public void saveSignedCert(String fileName)
                    throws IOException,
                           CertificateEncodingException
Save a signed certificate (PEM encoded)

Parameters:
fileName - Location of certificate
Throws:
IOException - if a save error occurs
CertificateEncodingException - if a PEM encoding error occurs

getSignedCert

public X509Certificate getSignedCert()
Getting generated signed certificate

Returns:

getUserPemCert

public String getUserPemCert()
Getting generated user certificate in PEM

Returns:

getUserPemKey

public String getUserPemKey()
Getting User private key in PEM

Returns:

getPrivateKey

public PrivateKey getPrivateKey()
Getting user private key

Returns:

getPublicKey

public PublicKey getPublicKey()
Getting user public key

Returns:

getUserCert

public X509Certificate getUserCert()
Getting user certificate in X509 format

Returns:

getUserCertRequest

public String getUserCertRequest()
Getting user certificate

Returns:

generateX509Certificate

public void generateX509Certificate(byte[] req)


Copyright © 2001-2008 University of Southampton IT Innovation Centre. All Rights Reserved.