Elexis: Das führende OpenSource-Arztpraxisprogamm
im deutschsprachigen Raum
Java doc für Elexis version 2.1.7.dev vom 01.09.2013

ch.rgw.crypt
Class GnuPG

java.lang.Object
  extended by ch.rgw.crypt.GnuPG
All Implemented Interfaces:
Cryptologist

public class GnuPG
extends java.lang.Object
implements Cryptologist


Nested Class Summary
 
Nested classes/interfaces inherited from interface ch.rgw.crypt.Cryptologist
Cryptologist.VERIFY_RESULT
 
Constructor Summary
GnuPG(java.lang.String useIdentity)
          Default constructor
 
Method Summary
 boolean addCertificate(byte[] certEncoded)
           
 boolean addCertificate(java.security.cert.X509Certificate cert)
           
 boolean changeKeyPassphrase(java.lang.String key, java.lang.String oldpwd, java.lang.String newpwd)
           
 boolean clearSign(java.lang.String inStr, java.lang.String secID, java.lang.String passPhrase)
          ClearSign
 Result<byte[]> decrypt(byte[] encrypted)
          decrypt a byte array
 boolean decrypt(java.io.File inFile, java.lang.String outFile, java.lang.String passPhrase)
           
 void decrypt(java.io.InputStream source, java.io.OutputStream dest)
           
 boolean decrypt(java.lang.String inStr, java.lang.String passPhrase)
          Decrypt
 byte[] encrypt(byte[] source, java.lang.String receiverKeyName)
          encrypt a byte array
 void encrypt(java.io.InputStream source, java.io.OutputStream dest, java.lang.String receiverKeyName)
           
 boolean encrypt(java.lang.String inStr, java.lang.String keyID)
          Encrypt
 java.security.cert.X509Certificate generateCertificate(java.security.PublicKey pk, java.lang.String alias, TimeTool validFrom, TimeTool validUntil)
           
 boolean generateKey(java.lang.String name, java.lang.String mail, char[] pwd, java.lang.String bem)
          Generate a key pair.
 java.security.KeyPair generateKeys(java.lang.String alias, char[] pwd, TimeTool validFrom, TimeTool validUntil)
           
 java.security.cert.X509Certificate getCertificate(java.lang.String alias)
           
 byte[] getCertificateEncoded(java.lang.String alias)
           
 java.lang.String getErrorString()
          Get error output from GnuPG process
 int getExitCode()
          Get GnuPG exit code
 boolean getKey(java.lang.String id)
          get public key
 java.lang.String getResult()
          Get processing result
 java.lang.String getUser()
           
 boolean hasCertificateOf(java.lang.String alias)
           
 boolean hasKeyOf(java.lang.String alias)
           
 boolean importKey(java.lang.String key)
           
 boolean importKeyFile(java.lang.String keyname)
          import key
 boolean isAvailable()
           
 boolean isFunctional()
           
 boolean listKeys(java.lang.String ID)
          List public keys in keyring
 boolean listSecretKeys(java.lang.String ID)
          List secret keys in keyring
 boolean removeCertificate(java.lang.String alias)
           
 void runWithCommand(java.lang.String command)
           
 void setExecutable(java.lang.String exe)
           
 void setHomedir(java.lang.String dir)
           
 void setPassphrase(char[] pwd)
           
 byte[] sign(byte[] source)
          Sign a byte array (create and sign a MAC)
 boolean sign(java.lang.String inStr, java.lang.String secID, java.lang.String passPhrase)
          Sign
 boolean signAndEncrypt(java.io.File inFile, java.lang.String secID, java.lang.String keyID, java.lang.String passphrase)
           
 boolean signAndEncrypt(java.lang.String inStr, java.lang.String secID, java.lang.String keyID, java.lang.String passPhrase)
          Signs and encrypts a string
 boolean signKey(java.lang.String keyname, java.lang.String passphrase)
           
static java.lang.String streamEncoding()
          Gets stream encoding
 Cryptologist.VERIFY_RESULT verify(byte[] data, byte[] signature, java.lang.String signerKeyName)
          Verify a MAC
 boolean verify(java.lang.String signedString)
           
 boolean verify(java.lang.String signedString, java.lang.String dataString)
          Verify a signature
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GnuPG

public GnuPG(java.lang.String useIdentity)
Default constructor

Method Detail

setPassphrase

public void setPassphrase(char[] pwd)

setExecutable

public void setExecutable(java.lang.String exe)

setHomedir

public void setHomedir(java.lang.String dir)

sign

public boolean sign(java.lang.String inStr,
                    java.lang.String secID,
                    java.lang.String passPhrase)
Sign

Parameters:
inStr - input string to sign
secID - ID of secret key to sign with
passPhrase - passphrase for the secret key to sign with
Returns:
true upon success

clearSign

public boolean clearSign(java.lang.String inStr,
                         java.lang.String secID,
                         java.lang.String passPhrase)
ClearSign

Parameters:
inStr - input string to sign
secID - ID of secret key to sign with
passPhrase - passphrase for the secret key to sign with
Returns:
true upon success

signAndEncrypt

public boolean signAndEncrypt(java.lang.String inStr,
                              java.lang.String secID,
                              java.lang.String keyID,
                              java.lang.String passPhrase)
Signs and encrypts a string

Parameters:
inStr - input string to encrypt
secID - ID of secret key to sign with
keyID - ID of public key to encrypt with
passPhrase - passphrase for the secret key to sign with
Returns:
true upon success

signAndEncrypt

public boolean signAndEncrypt(java.io.File inFile,
                              java.lang.String secID,
                              java.lang.String keyID,
                              java.lang.String passphrase)

encrypt

public boolean encrypt(java.lang.String inStr,
                       java.lang.String keyID)
Encrypt

Parameters:
inStr - input string to encrypt
secID - ID of secret key to use
keyID - ID of public key to encrypt with
Returns:
true upon success

decrypt

public boolean decrypt(java.lang.String inStr,
                       java.lang.String passPhrase)
Decrypt

Parameters:
inStr - input string to decrypt
passPhrase - passphrase for the secret key to decrypt with
Returns:
true upon success

signKey

public boolean signKey(java.lang.String keyname,
                       java.lang.String passphrase)

decrypt

public boolean decrypt(java.io.File inFile,
                       java.lang.String outFile,
                       java.lang.String passPhrase)

listKeys

public boolean listKeys(java.lang.String ID)
List public keys in keyring

Parameters:
ID - ID of public key to list, blank for all
Returns:
true upon success

getKey

public boolean getKey(java.lang.String id)
get public key


importKeyFile

public boolean importKeyFile(java.lang.String keyname)
import key


importKey

public boolean importKey(java.lang.String key)

listSecretKeys

public boolean listSecretKeys(java.lang.String ID)
List secret keys in keyring

Parameters:
ID - ID of secret key to list, blank for all
Returns:
true upon success

generateKey

public boolean generateKey(java.lang.String name,
                           java.lang.String mail,
                           char[] pwd,
                           java.lang.String bem)
Generate a key pair. This will open the gpg-console to create the key interactively

Returns:

changeKeyPassphrase

public boolean changeKeyPassphrase(java.lang.String key,
                                   java.lang.String oldpwd,
                                   java.lang.String newpwd)

verify

public boolean verify(java.lang.String signedString,
                      java.lang.String dataString)
Verify a signature

Parameters:
inStr - signature to verify
Returns:
true if verified.

verify

public boolean verify(java.lang.String signedString)

getResult

public java.lang.String getResult()
Get processing result

Returns:
result string.

getErrorString

public java.lang.String getErrorString()
Get error output from GnuPG process

Returns:
error string.

getExitCode

public int getExitCode()
Get GnuPG exit code

Returns:
exit code.

runWithCommand

public void runWithCommand(java.lang.String command)

isAvailable

public boolean isAvailable()

streamEncoding

public static java.lang.String streamEncoding()
Gets stream encoding

Returns:
stream encoding.

decrypt

public Result<byte[]> decrypt(byte[] encrypted)
Description copied from interface: Cryptologist
decrypt a byte array

Specified by:
decrypt in interface Cryptologist
Parameters:
encrypted - the encrypted bytes
Returns:
the plain array or null of decryption failed

sign

public byte[] sign(byte[] source)
Description copied from interface: Cryptologist
Sign a byte array (create and sign a MAC)

Specified by:
sign in interface Cryptologist
Parameters:
source - the bytes to sign
Returns:
the signature

encrypt

public byte[] encrypt(byte[] source,
                      java.lang.String receiverKeyName)
Description copied from interface: Cryptologist
encrypt a byte array

Specified by:
encrypt in interface Cryptologist
Parameters:
source - the plain bytes
receiverKeyName - name of the receiver's public key
Returns:
the encrypted bytes or null if encryption failed

verify

public Cryptologist.VERIFY_RESULT verify(byte[] data,
                                         byte[] signature,
                                         java.lang.String signerKeyName)
Description copied from interface: Cryptologist
Verify a MAC

Specified by:
verify in interface Cryptologist
Parameters:
data - the signed data
signature - the signed digest
signerKeyName - name of the signer's public key
Returns:

addCertificate

public boolean addCertificate(java.security.cert.X509Certificate cert)
Specified by:
addCertificate in interface Cryptologist

generateCertificate

public java.security.cert.X509Certificate generateCertificate(java.security.PublicKey pk,
                                                              java.lang.String alias,
                                                              TimeTool validFrom,
                                                              TimeTool validUntil)
Specified by:
generateCertificate in interface Cryptologist

generateKeys

public java.security.KeyPair generateKeys(java.lang.String alias,
                                          char[] pwd,
                                          TimeTool validFrom,
                                          TimeTool validUntil)
Specified by:
generateKeys in interface Cryptologist

hasCertificateOf

public boolean hasCertificateOf(java.lang.String alias)
Specified by:
hasCertificateOf in interface Cryptologist

hasKeyOf

public boolean hasKeyOf(java.lang.String alias)
Specified by:
hasKeyOf in interface Cryptologist

getUser

public java.lang.String getUser()
Specified by:
getUser in interface Cryptologist

getCertificate

public java.security.cert.X509Certificate getCertificate(java.lang.String alias)
Specified by:
getCertificate in interface Cryptologist

isFunctional

public boolean isFunctional()
Specified by:
isFunctional in interface Cryptologist

addCertificate

public boolean addCertificate(byte[] certEncoded)
Specified by:
addCertificate in interface Cryptologist

getCertificateEncoded

public byte[] getCertificateEncoded(java.lang.String alias)
                             throws CryptologistException
Specified by:
getCertificateEncoded in interface Cryptologist
Throws:
CryptologistException

removeCertificate

public boolean removeCertificate(java.lang.String alias)
Specified by:
removeCertificate in interface Cryptologist

decrypt

public void decrypt(java.io.InputStream source,
                    java.io.OutputStream dest)
             throws CryptologistException
Specified by:
decrypt in interface Cryptologist
Throws:
CryptologistException

encrypt

public void encrypt(java.io.InputStream source,
                    java.io.OutputStream dest,
                    java.lang.String receiverKeyName)
             throws CryptologistException
Specified by:
encrypt in interface Cryptologist
Throws:
CryptologistException

Elexis: Das führende OpenSource-Arztpraxisprogamm
im deutschsprachigen Raum
Java doc für Elexis version 2.1.7.dev vom 01.09.2013