gov.lanl.TMCryptography
Class IButtonAux

java.lang.Object
  |
  +--gov.lanl.TMCryptography.IButtonAux

public class IButtonAux
extends java.lang.Object

IButtonAux uses native calls to Dalas Semiconductor DLL to communicate with iButton hardware

 

Field Summary
static int CIB_MODULUS
           
static int CIB_PRIVATE_EXP
           
static int CIB_PUBLIC_EXP
           
static int DECRYPT_CIB_KEY
           
static int ENCRYPT_CIB_KEY
           
static int ENCRYPT_OUT_KEY
           
static int GROUP_CERTIFICATE
           
static int GROUP_INFO
           
static int INPUT1
           
static int OUT_EXPONENT
           
static int OUT_MODULUS
           
static int OUTPUT1
           
static int OUTPUT2
           
static int PADDING
           
static int PARALLEL_ADAPTER
           
static int PRIVATE_KEY_CRYPT
           
static int PUBLIC_KEY_CRYPT
           
static int REG_NUMBER
           
static int SERIAL_ADAPTER
           
static int SIGN_CIB_KEY
           
static int SIGN_COUNT
           
static int TIMESTAMP
           
 
Constructor Summary
IButtonAux()
          IButtonAux constructor
IButtonAux(int numbits, int exTime)
           
 
Method Summary
 iaik.x509.X509Certificate createCertificate(iaik.asn1.structures.Name subject, java.security.PublicKey pk, iaik.asn1.structures.Name issuer, iaik.asn1.structures.AlgorithmID algorithm, boolean extensions)
          Creates public certificate
 byte[] crypt(byte[] textIn, int flag, int blksize)
          encrypts/decrypts message with either private/public keys
 void findButton()
          Checks parallel adapter, port and iButton
 byte[] getExponent()
           
 byte[] getModulus()
           
 iaik.security.rsa.RSAPublicKey getPublicKey()
          Creates public key out of modulus and exponent from the iButton
 byte[] sign(byte[] data)
          signs message with iButton private key
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CIB_PUBLIC_EXP

public static final int CIB_PUBLIC_EXP
See Also:
Constant Field Values

CIB_MODULUS

public static final int CIB_MODULUS
See Also:
Constant Field Values

CIB_PRIVATE_EXP

public static final int CIB_PRIVATE_EXP
See Also:
Constant Field Values

INPUT1

public static final int INPUT1
See Also:
Constant Field Values

SIGN_COUNT

public static final int SIGN_COUNT
See Also:
Constant Field Values

TIMESTAMP

public static final int TIMESTAMP
See Also:
Constant Field Values

SIGN_CIB_KEY

public static final int SIGN_CIB_KEY
See Also:
Constant Field Values

GROUP_INFO

public static final int GROUP_INFO
See Also:
Constant Field Values

GROUP_CERTIFICATE

public static final int GROUP_CERTIFICATE
See Also:
Constant Field Values

OUT_EXPONENT

public static final int OUT_EXPONENT
See Also:
Constant Field Values

OUT_MODULUS

public static final int OUT_MODULUS
See Also:
Constant Field Values

ENCRYPT_CIB_KEY

public static final int ENCRYPT_CIB_KEY
See Also:
Constant Field Values

DECRYPT_CIB_KEY

public static final int DECRYPT_CIB_KEY
See Also:
Constant Field Values

ENCRYPT_OUT_KEY

public static final int ENCRYPT_OUT_KEY
See Also:
Constant Field Values

OUTPUT1

public static final int OUTPUT1
See Also:
Constant Field Values

OUTPUT2

public static final int OUTPUT2
See Also:
Constant Field Values

REG_NUMBER

public static final int REG_NUMBER
See Also:
Constant Field Values

PADDING

public static final int PADDING
See Also:
Constant Field Values

PARALLEL_ADAPTER

public static final int PARALLEL_ADAPTER
See Also:
Constant Field Values

SERIAL_ADAPTER

public static final int SERIAL_ADAPTER
See Also:
Constant Field Values

PUBLIC_KEY_CRYPT

public static final int PUBLIC_KEY_CRYPT
See Also:
Constant Field Values

PRIVATE_KEY_CRYPT

public static final int PRIVATE_KEY_CRYPT
See Also:
Constant Field Values
Constructor Detail

IButtonAux

public IButtonAux()
IButtonAux constructor


IButtonAux

public IButtonAux(int numbits,
                  int exTime)
Method Detail

findButton

public void findButton()
Checks parallel adapter, port and iButton


crypt

public byte[] crypt(byte[] textIn,
                    int flag,
                    int blksize)
encrypts/decrypts message with either private/public keys

Parameters:
textIn - message to encrypt/decrypt
flag - specifies what key to use
blksize - block size

sign

public byte[] sign(byte[] data)
signs message with iButton private key

Parameters:
data - message to sign
Returns:
signed certificate

getModulus

public byte[] getModulus()

getExponent

public byte[] getExponent()

getPublicKey

public iaik.security.rsa.RSAPublicKey getPublicKey()
Creates public key out of modulus and exponent from the iButton


createCertificate

public iaik.x509.X509Certificate createCertificate(iaik.asn1.structures.Name subject,
                                                   java.security.PublicKey pk,
                                                   iaik.asn1.structures.Name issuer,
                                                   iaik.asn1.structures.AlgorithmID algorithm,
                                                   boolean extensions)
Creates public certificate

Parameters:
subject -
pk - public key
algorithm -
extensions -
Returns:
public certificate