|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.globus.gsi.OpenSSLKey
public abstract class OpenSSLKey
Represents a OpenSSL-style PEM-formatted private key. It supports encryption and decryption of the key. Currently, only RSA keys are supported, and only TripleDES encryption is supported.
This is based on work done by Ming Yung at DSTC.
Constructor Summary | |
---|---|
OpenSSLKey(java.io.InputStream is)
Reads a OpenSSL private key from the specified input stream. |
|
OpenSSLKey(java.security.PrivateKey key)
Converts a RSAPrivateCrtKey into OpenSSL key. |
|
OpenSSLKey(java.lang.String file)
Reads a OpenSSL private key from the specified file. |
|
OpenSSLKey(java.lang.String algorithm,
byte[] data)
Initializes the OpenSSL key from raw byte array. |
Method Summary | |
---|---|
void |
decrypt(byte[] password)
Decrypts the private key with given password. |
void |
decrypt(java.lang.String password)
Decrypts the private key with given password. |
void |
encrypt(byte[] password)
Encrypts the private key with given password. |
void |
encrypt(java.lang.String password)
Encrypts the private key with given password. |
protected byte[] |
getEncoded()
|
protected abstract byte[] |
getEncoded(java.security.PrivateKey key)
|
protected abstract java.security.PrivateKey |
getKey(java.lang.String alg,
byte[] data)
|
java.security.PrivateKey |
getPrivateKey()
Returns the JCE (RSAPrivateCrtKey) key. |
protected java.lang.String |
getProvider()
|
boolean |
isEncrypted()
Check if the key was encrypted or not. |
void |
setEncryptionAlgorithm(java.lang.String alg)
Sets algorithm for encryption. |
void |
writeTo(java.io.OutputStream output)
Writes the private key to the specified output stream in PEM format. |
void |
writeTo(java.lang.String file)
Writes the private key to the specified file in PEM format. |
void |
writeTo(java.io.Writer w)
Writes the private key to the specified writer in PEM format. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public OpenSSLKey(java.io.InputStream is) throws java.io.IOException, java.security.GeneralSecurityException
is
- input stream with OpenSSL key in PEM format.
java.io.IOException
- if I/O problems.
java.security.GeneralSecurityException
- if problems with the keypublic OpenSSLKey(java.lang.String file) throws java.io.IOException, java.security.GeneralSecurityException
file
- file containing the OpenSSL key in PEM format.
java.io.IOException
- if I/O problems.
java.security.GeneralSecurityException
- if problems with the keypublic OpenSSLKey(java.security.PrivateKey key)
key
- private key - must be a RSAPrivateCrtKeypublic OpenSSLKey(java.lang.String algorithm, byte[] data) throws java.security.GeneralSecurityException
algorithm
- the algorithm of the key. Currently only RSA algorithm is supported.data
- the DER encoded key data. If RSA algorithm, the key must be in PKCS#1 format.
java.security.GeneralSecurityException
- if any security problems.Method Detail |
---|
protected byte[] getEncoded()
public boolean isEncrypted()
public void decrypt(java.lang.String password) throws java.security.GeneralSecurityException
password
- password to decrypt the key with.
java.security.GeneralSecurityException
- whenever an error occurs during decryption.public void decrypt(byte[] password) throws java.security.GeneralSecurityException
password
- password to decrypt the key with.
java.security.GeneralSecurityException
- whenever an error occurs during decryption.public void encrypt(java.lang.String password) throws java.security.GeneralSecurityException
password
- password to encrypt the key with.
java.security.GeneralSecurityException
- whenever an error occurs during encryption.public void encrypt(byte[] password) throws java.security.GeneralSecurityException
password
- password to encrypt the key with.
java.security.GeneralSecurityException
- whenever an error occurs during encryption.public void setEncryptionAlgorithm(java.lang.String alg) throws java.security.GeneralSecurityException
alg
- algorithm for encryption
java.security.GeneralSecurityException
- if algorithm is not supportedpublic java.security.PrivateKey getPrivateKey()
public void writeTo(java.io.OutputStream output) throws java.io.IOException
output
- output stream to write the key to.
java.io.IOException
- if I/O problems writing the keypublic void writeTo(java.io.Writer w) throws java.io.IOException
w
- writer to output the key to.
java.io.IOException
- if I/O problems writing the keypublic void writeTo(java.lang.String file) throws java.io.IOException
file
- file to write the key to.
java.io.IOException
- if I/O problems writing the keyprotected abstract byte[] getEncoded(java.security.PrivateKey key)
protected abstract java.security.PrivateKey getKey(java.lang.String alg, byte[] data) throws java.security.GeneralSecurityException
java.security.GeneralSecurityException
protected java.lang.String getProvider()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |