iaik.tc.cert.common
Class Common

Object
  extended by Common

public class Common
extends Object

Collection of useful methods while creating certificates.

This is a collection for TCcert main program and other test/debug code.


Method Summary
static String ACtoString(AttributeCertificate acert)
          Dumps Attribute certificate to String, including extensions.
static KeyPair generateRSAKeyPair(int bits)
          Generates an RSA keypair.
static BigInteger generateSerial()
          Generates serial number yyyyMMddHHmmss (from current date and time).
static Name parseName(Properties prop, String prefix)
          Parses certificate Issuer or Subject name from properties.
static RSAOaepPublicKey publicRSAtoPublicRSAOAEP(RSAPublicKey pubkey)
          Converts RSA public key to RSA-OAEP public key, with additional "TCPA" parameter.
static AttributeCertificate readACFromFile(String filename)
          Reads Attribute certificat from file.
static PrivateKey readPrivateKeyFromFile(String password, String filename)
          Reads private key from PKCS8 file.
static X509Certificate readX509FromFile(String filename)
          Reads X509 certificat from file.
static void setOneYearValidAC(AttributeCertificate certificate)
          Sets AttributeCertificate valid interval to one year, starting now.
static void setOneYearValidX509(X509Certificate certificate)
          Sets X509Certificate validity interval to one year, starting now.
static void setValidDaysX509(X509Certificate certificate, int days)
          Sets X509Certificate validity interval to X days, starting now.
static void setValidHoursX509(X509Certificate certificate, int hours)
          Sets X509Certificate validity interval to X hours, starting now.
static void setValidity(X509Certificate certificate, Properties prop)
          Sets X509Certificate validity interval.
static void setValidMinutesX509(X509Certificate certificate, int minutes)
          Sets X509Certificate validity interval to X minutes, starting now.
static void setValidYearsX509(X509Certificate certificate, int years)
          Sets X509Certificate validity interval to X days, starting now.
static void writeACToFile(AttributeCertificate acert, String filename)
          Writes Attribute certificat to file.
static void writeCertsToPKCS7File(X509Certificate[] certs, String filename)
          Writes a chain of certificates to a PKCS7 file.
static void writePrivateKeyToFile(PrivateKey privateKey, String password, String filename)
          Writes private key to PKCS8 file.
static void writeX509ToFile(X509Certificate cert, String filename)
          Writes X509 certificat to file.
static String X509toString(X509Certificate cert)
          Dumps X509 certificate to String, including extensions.
 
Methods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

parseName

public static Name parseName(Properties prop,
                             String prefix)
Parses certificate Issuer or Subject name from properties.

Supported: country, organization, organizationalUnit, commonName


generateSerial

public static BigInteger generateSerial()
Generates serial number yyyyMMddHHmmss (from current date and time).

BIG FAT WARNING: Call only once per second, for obvious reasons....


setValidity

public static void setValidity(X509Certificate certificate,
                               Properties prop)
Sets X509Certificate validity interval.

Depending on existence of properties 'valid.days', 'valid.hours' or 'valid.minutes' calls one of the other setValidXY methods. If no property is found, sets validity time to one year.

Parameters:
certificate -
prop -

setValidYearsX509

public static void setValidYearsX509(X509Certificate certificate,
                                     int years)
Sets X509Certificate validity interval to X days, starting now.


setValidDaysX509

public static void setValidDaysX509(X509Certificate certificate,
                                    int days)
Sets X509Certificate validity interval to X days, starting now.


setValidHoursX509

public static void setValidHoursX509(X509Certificate certificate,
                                     int hours)
Sets X509Certificate validity interval to X hours, starting now.


setValidMinutesX509

public static void setValidMinutesX509(X509Certificate certificate,
                                       int minutes)
Sets X509Certificate validity interval to X minutes, starting now.


setOneYearValidX509

public static void setOneYearValidX509(X509Certificate certificate)
Sets X509Certificate validity interval to one year, starting now.


setOneYearValidAC

public static void setOneYearValidAC(AttributeCertificate certificate)
Sets AttributeCertificate valid interval to one year, starting now.


generateRSAKeyPair

public static KeyPair generateRSAKeyPair(int bits)
Generates an RSA keypair.


publicRSAtoPublicRSAOAEP

public static RSAOaepPublicKey publicRSAtoPublicRSAOAEP(RSAPublicKey pubkey)
Converts RSA public key to RSA-OAEP public key, with additional "TCPA" parameter.


writePrivateKeyToFile

public static void writePrivateKeyToFile(PrivateKey privateKey,
                                         String password,
                                         String filename)
                                  throws IOException
Writes private key to PKCS8 file.

Throws:
IOException

readPrivateKeyFromFile

public static PrivateKey readPrivateKeyFromFile(String password,
                                                String filename)
                                         throws IOException
Reads private key from PKCS8 file.

Throws:
IOException

writeX509ToFile

public static void writeX509ToFile(X509Certificate cert,
                                   String filename)
                            throws IOException
Writes X509 certificat to file.

Throws:
IOException

readX509FromFile

public static X509Certificate readX509FromFile(String filename)
                                        throws IOException,
                                               CertificateException
Reads X509 certificat from file.

Throws:
IOException
CertificateException

writeACToFile

public static void writeACToFile(AttributeCertificate acert,
                                 String filename)
                          throws IOException
Writes Attribute certificat to file.

Throws:
IOException

writeCertsToPKCS7File

public static void writeCertsToPKCS7File(X509Certificate[] certs,
                                         String filename)
                                  throws IOException
Writes a chain of certificates to a PKCS7 file.

Throws:
IOException

readACFromFile

public static AttributeCertificate readACFromFile(String filename)
                                           throws IOException,
                                                  CertificateException
Reads Attribute certificat from file.

Throws:
IOException
CertificateException

X509toString

public static String X509toString(X509Certificate cert)
Dumps X509 certificate to String, including extensions. This function is only for debugging purposes.


ACtoString

public static String ACtoString(AttributeCertificate acert)
Dumps Attribute certificate to String, including extensions. This function is only for debugging purposes.