Package com.sun.grid.ca

# Class GridCAImpl

java.lang.Object
com.sun.grid.ca.GridCAImpl

All Implemented Interfaces:
  `GridCA`

public class GridCAImpl extends Object implements GridCA
Default implementation of the `GridCA` Uses the sge_ca script which is delivered with gridengine to perform actions on the gridengine ca.

## Constructor Summary

Constructors
Constructor
Description
`GridCAImpl(GridCAConfiguration config)`
Create a new instance of `GridCAImp`

## Method Summary

Modifier and Type
Method
Description
`void`
`createDaemon(String daemon, String user, String email)`
Create private key and certificate for a sdm daemon.
`KeyStore`
`createDaemonKeyStore(String daemon)`
Get the keystore for a daemon.
`KeyStore`
`createKeyStore(String username, char[] keystorePassword, char[] privateKeyPassword)`
Create a keystore which contains the private key and certificate of an user.
`protected Expect`
`createProcess()`
`KeyStore`
`createSGEDaemonKeyStore(String daemon, char[] keystorePassword, char[] privateKeyPassword)`
Get the keystore for a SGE daemon.
`void`
`createUser(String username, String email)`
Create private key and certificate for a user.
`void`
`createUser(String username, String gecos, String email)`
Deprecated.
the gecos field is no longer used, use @{link #createUser(String,String)} instead
`protected void`
`execute(Expect pb)`
`protected void`
`execute(Expect pb, boolean setLock)`
`protected File`
`getCertFileForDaemon(String daemon)`
`protected File`
`getCertFileForUser(String username)`
`X509Certificate`
`getCertificate(String username)`
Get the X.509 certificate of a user.
`X509Certificate`
`getDaemonCertificate(String daemon)`
Get the X.509 certificate of a daemon.
`protected File`
`getLocalDaemonDir(String daemon)`
`protected File`
`getLocalUserDir(String username)`
`void`
`init(InitCAParameters params)`
Initialize the gridengine ca.
`void`
`renewCaCertificate(int days)`
Renew the certificate of the certificate authority
`X509Certificate`
`renewCertificate(String username, int days)`
Renew the certificate of a user.
`X509Certificate`
`renewDaemonCertificate(String daemon, int days)`
Renew the certificate of a daemon.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### GridCAImpl

public GridCAImpl(GridCAConfiguration config) throws GridCAException
Create a new instance of `GridCAImp`

Parameters:
  `config` - the configuration
Throws:
  `GridCAException` - if the configuration is not valid

## Method Details

### createProcess

protected Expect createProcess()

### init

public void init(InitCAParameters params) throws GridCAException
Initialize the gridengine ca.

Specified by:
  `init` in interface `GridCA`
Parameters:
  `params` - parmeters for the CA
Throws:
  `GridCAException`

### getLocalUserDir

protected File getLocalUserDir(String username)

### getCertFileForUser

protected File getCertFileForUser(String username)

### getLocalDaemonDir

protected File getLocalDaemonDir(String daemon)

### getCertFileForDaemon

protected File getCertFileForDaemon(String daemon)

### execute

protected void execute(Expect pb) throws GridCAException

Throws:
  `GridCAException`

### execute

protected void execute(Expect pb, boolean setLock) throws GridCAException

Throws:
  `GridCAException`

### createUser

public void createUser(String username, String gecos, String email) throws GridCAException
Deprecated.
the gecos field is no longer used, use @{link #createUser(String,String)} instead
Create private key and certificate for a user.

Specified by:
  `createUser` in interface `GridCA`
Parameters:
  `username` - name of the user
  `gecos` - gecos field of the user
  `email` - email address of the user
Throws:
  `GridCAException` - if the creation of the private key or the certificate fails

### createUser

public void createUser(String username, String email) throws GridCAException
Create private key and certificate for a user.

Specified by:
  `createUser` in interface `GridCA`
Parameters:
  `username` - name of the user
  `email` - email address of the user
Throws:
  `GridCAException` - if the creation of the private key or the certificate fails

### createDaemon

public void createDaemon(String daemon, String user, String email) throws GridCAException
Create private key and certificate for a sdm daemon.

Specified by:
  `createDaemon` in interface `GridCA`
Parameters:
  `daemon` - name of the daemon
  `user` - username of the daemon (owner of the process)
  `email` - email address of the process owner
Throws:
  `GridCAException` - if the create of the daemon failed

### getCertificate

public X509Certificate getCertificate(String username) throws GridCAException
Get the X.509 certificate of a user.

Specified by:
  `getCertificate` in interface `GridCA`
Parameters:
  `username` - name of the user
Returns:
  X.509 certificate
Throws:
  `GridCAException` - if the certificate does not exist

### getDaemonCertificate

public X509Certificate getDaemonCertificate(String daemon) throws GridCAException
Get the X.509 certificate of a daemon.

Specified by:
  `getDaemonCertificate` in interface `GridCA`
Parameters:
  `daemon` - name of the daemon
Returns:
  X.509 certificate
Throws:
  `GridCAException` - if the certificate does not exist

### renewCertificate

public X509Certificate renewCertificate(String username, int days) throws GridCAException
Renew the certificate of a user.

Specified by:
  `renewCertificate` in interface `GridCA`
Parameters:
  `username` - name of the user
  `days` - validity of the new certificate in days
Returns:
  the renewed certificate
Throws:
  `GridCAException` - if the certificate can not be renewed

### renewDaemonCertificate

public X509Certificate renewDaemonCertificate(String daemon, int days) throws GridCAException
Renew the certificate of a daemon.

Specified by:
  `renewDaemonCertificate` in interface `GridCA`
Parameters:
  `daemon` - name of the daemon
  `days` - validity of the new certificate in days
Returns:
  the renewed certificate
Throws:
  `GridCAException` - if the certificate can not be renewed

### renewCaCertificate

public void renewCaCertificate(int days) throws GridCAException
Description copied from interface: `GridCA`
Renew the certificate of the certificate authority

Specified by:
  `renewCaCertificate` in interface `GridCA`
Parameters:
  `days` - validity of the new certificate in days
Throws:
  `GridCAException` - if the certificate can not be renewed

### createKeyStore

public KeyStore createKeyStore(String username, char[] keystorePassword, char[] privateKeyPassword) throws GridCAException
Create a keystore which contains the private key and certificate of an user.

Specified by:
  `createKeyStore` in interface `GridCA`
Parameters:
  `username` - name of the user
  `keystorePassword` - password used for encrypt the keystore
  `privateKeyPassword` - password for the private key
Returns:
  the keystore
Throws:
  `GridCAException` - if the keystore could not be created

### createDaemonKeyStore

public KeyStore createDaemonKeyStore(String daemon) throws GridCAException
Get the keystore for a daemon. This method can be used be the installation to create keystore for the daemon of a sdm system.

Specified by:
  `createDaemonKeyStore` in interface `GridCA`
Parameters:
  `daemon` - name of the daemon
Returns:
  the keystore of the daemon
Throws:
  `GridCAException`

### createSGEDaemonKeyStore

public KeyStore createSGEDaemonKeyStore(String daemon, char[] keystorePassword, char[] privateKeyPassword) throws GridCAException
Get the keystore for a SGE daemon. This method can be used be the installation to create keystore for the daemon of a sdm system.

Specified by:
  `createSGEDaemonKeyStore` in interface `GridCA`
Parameters:
  `daemon` - name of the daemon
  `keystorePassword` - password used to encrypt the keystore
  `privateKeyPassword` - password used to encrypt the key
Returns:
  the keystore of the daemon
Throws:
  `GridCAException`