Package org.kapott.hbci.passport

## Class HBCIPassportRSA

- java.lang.Object
- - org.kapott.hbci.passport.AbstractHBCIPassport
  - - org.kapott.hbci.passport.AbstractRDHPassport
    - - org.kapott.hbci.passport.HBCIPassportRSA

All Implemented Interfaces:
  `java.io.Serializable`, `HBCIPassport`, `HBCIPassportChipcard`, `HBCIPassportInternal`, `InitLetterPassport`

    public class HBCIPassportRSA
    extends AbstractRDHPassport
    implements HBCIPassportChipcard

HBCI-Passport fuer RDH-Chipkarten.

See Also:
  Serialized Form

### Field Summary

### Fields inherited from interface org.kapott.hbci.passport.HBCIPassport

`ROLE_CON, ROLE_ISS, ROLE_WIT`

### Constructor Summary

Constructors
`HBCIPassportRSA​(java.lang.Object init)` ct.
`HBCIPassportRSA​(java.lang.Object init, int dummy)` ct.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `close()` Schließen eines Passport-Objektes.
`protected void` `closeCT()` Schliesst den Kartenleser.
`protected byte[]` `ctDecipher​(byte[] data)` Entschluesselt die Daten.
`protected byte[]` `ctEncipher​(byte[] data)` Verschluesselt die Daten.
`protected void` `ctEnterPIN()` Fuehrt die PIN-Eingabe durch.
`protected void` `ctReadBankData()` Liest die Bankdaten.
`protected void` `ctReadKeyData()` Liest die Schluesseldaten.
`protected void` `ctSaveBankData()` Speichert die Bankdaten.
`protected void` `ctSaveSigId()` Speichert die Signatur-ID.
`protected byte[]` `ctSign​(byte[] data)` Signiert die Daten.
`protected boolean` `ctVerify​(byte[] data, byte[] sig)` Prueft die Signatur.
`byte[]` `decrypt​(byte[] cryptedKey, byte[] cryptedMsg)`
`byte[][]` `encrypt​(byte[] plainMsg)`
`java.lang.String` `getBankId()` Liefert die Bank-ID.
`java.lang.String` `getCardId()` Liefert die Karten-ID.
`java.lang.String` `getCustomerId()` Gibt die Kunden-ID zurück, die von HBCI4Java für die Initialisierung eines Dialoges benutzt wird.
`java.lang.String` `getDefaultCustomerId()` Liefert die Default-Kundenkennung.
`int` `getEntryIdx()` Liefert den Index des Bankzugangs.
`java.lang.String` `getFileName()` Gibt den Dateinamen für die zusätzliche Schlüsseldatei zurück.
`HBCIKey` `getInstEncKey()`
`java.lang.String` `getInstEncKeyName()`
`java.lang.String` `getInstEncKeyNum()`
`java.lang.String` `getInstEncKeyVersion()`
`HBCIKey` `getInstSigKey()`
`java.lang.String` `getInstSigKeyName()`
`java.lang.String` `getInstSigKeyNum()`
`java.lang.String` `getInstSigKeyVersion()`
`java.lang.String` `getMyEncKeyName()`
`java.lang.String` `getMyEncKeyNum()`
`java.lang.String` `getMyEncKeyVersion()`
`HBCIKey` `getMyPrivateDigKey()`
`HBCIKey` `getMyPrivateEncKey()`
`HBCIKey` `getMyPrivateSigKey()`
`HBCIKey` `getMyPublicDigKey()`
`HBCIKey` `getMyPublicEncKey()`
`HBCIKey` `getMyPublicSigKey()`
`java.lang.String` `getMySigKeyName()`
`java.lang.String` `getMySigKeyNum()`
`java.lang.String` `getMySigKeyVersion()`
`java.lang.String` `getProfileVersion()`
`byte[]` `getSoftPin()` Liefert die ueber die Tastatur eingegebene PIN.
`int` `getUseSoftPin()` Prueft, ob die PIN per Tastatur eingegeben werden soll.
`byte[]` `hash​(byte[] data)`
`boolean` `hasInstEncKey()`
`boolean` `hasInstSigKey()`
`boolean` `hasMyEncKey()`
`boolean` `hasMySigKey()`
`protected void` `initCT()` Initialisiert die Karte.
`boolean` `isPINEntered()` Liefert true, wenn die PIN eingegeben wurde.
`void` `readBankData()` Liest die Bank-Daten.
`void` `readKeyData()` Liest die Schluesseldaten.
`void` `resetPassphrase()`
`void` `saveBankData()` Schreiben der aktuellen Zugangsdaten auf die Chipkarte.
`void` `saveChanges()` Speichern der Änderungen an den Passport-Daten.
`void` `setBankId​(java.lang.String bankId)` Speichert die Bank-ID.
`void` `setCardId​(java.lang.String cardid)` Speichert die Karten-ID.
`void` `setDefaultCustomerId​(java.lang.String defaultCustomerId)` Speichert die Default-Kundenkennung.
`void` `setEntryIdx​(int entryIdx)` Speichert den Index des Bankzugangs.
`void` `setFileName​(java.lang.String filename)` Legt den Dateinamen fuer die zusaetzliche Schluesseldatei fest.
`void` `setInstEncKey​(HBCIKey key)`
`void` `setInstSigKey​(HBCIKey key)`
`void` `setMyPrivateDigKey​(HBCIKey key)`
`void` `setMyPrivateEncKey​(HBCIKey key)`
`void` `setMyPrivateSigKey​(HBCIKey key)`
`void` `setMyPublicDigKey​(HBCIKey key)`
`void` `setMyPublicEncKey​(HBCIKey key)`
`void` `setMyPublicSigKey​(HBCIKey key)`
`void` `setPINEntered​(boolean pinEntered)` Speichert, ob die PIN eingegeben wurde.
`void` `setProfileVersion​(java.lang.String version)`
`void` `setSoftPin​(byte[] softPin)` Speichert die ueber die Tastatur eingegebene PIN.
`void` `setUseSoftPin​(int useSoftPin)` Legt fest, ob die PIN per Tastatur eingegeben werden soll.
`byte[]` `sign​(byte[] data)`
`boolean` `verify​(byte[] data, byte[] sig)`

### Methods inherited from class org.kapott.hbci.passport.AbstractRDHPassport

`createMsgKey, getCommInstance, getCryptAlg, getCryptDataSize, getCryptFunction, getCryptKeyType, getCryptMode, getHashAlg, getPassportTypeName, getProfileMethod, getSigAlg, getSigFunction, getSigMode, getSignatureInstance, getSignatureParamSpec, getSysStatus, isSupported, needInstKeys, needUserKeys, needUserSig, onDialogEvent`

### Methods inherited from class org.kapott.hbci.passport.AbstractHBCIPassport

`askForMissingData, canMixSecMethods, changePassphrase, checkForCryptDataSize, clearBPD, clearInstEncKey, clearInstSigKey, clearMyDigKey, clearMyEncKey, clearMySigKey, clearUPD, closeComm, fillAccountInfo, generateNewUserKeys, getAccount, getAccounts, getBLZ, getBPD, getBPDVersion, getCID, getClientData, getComm, getCommFilter, getCountry, getCustomerId, getDefaultLang, getFilterType, getHBCIVersion, getHost, getInstance, getInstance, getInstance, getInstance, getInstName, getJobRestrictions, getJobRestrictions, getLang, getMaxGVperMsg, getMaxGVSegsPerMsg, getMaxMsgSizeKB, getParamHeader, getParamSegmentNames, getParentHandlerData, getPersistentData, getPort, getSigId, getStoredCustomerId, getSuppCompMethods, getSuppLangs, getSuppSecMethods, getSuppVersions, getSysId, getUPD, getUPDVersion, getUserId, incSigId, isAnonymous, onlyBPDGVs, setBLZ, setBPD, setCID, setClientData, setCountry, setCustomerId, setFilterType, setHBCIVersion, setHost, setParamHeader, setParentHandlerData, setPersistentData, setPort, setProfileMethod, setSigId, setSysId, setUPD, setUserId, syncSigId, syncSysId`

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

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

### Methods inherited from interface org.kapott.hbci.passport.HBCIPassport

`changePassphrase, clearBPD, clearInstEncKey, clearInstSigKey, clearUPD, fillAccountInfo, getAccount, getAccounts, getBLZ, getBPD, getBPDVersion, getClientData, getCountry, getCustomerId, getDefaultLang, getFilterType, getHBCIVersion, getHost, getInstName, getMaxGVperMsg, getMaxMsgSizeKB, getPort, getSuppCompMethods, getSuppLangs, getSuppSecMethods, getSuppVersions, getUPD, getUPDVersion, getUserId, isSupported, needInstKeys, needUserKeys, onlyBPDGVs, setBLZ, setClientData, setCountry, setCustomerId, setFilterType, setHost, setPort, setUserId, syncSigId, syncSysId`

### Constructor Detail

#### HBCIPassportRSA

    public HBCIPassportRSA​(java.lang.Object init,
                           int dummy)

ct.

Parameters:
  `init` -
  `dummy` -

#### HBCIPassportRSA

    public HBCIPassportRSA​(java.lang.Object init)

ct.

Parameters:
  `init` -

### Method Detail

#### getCustomerId

    public java.lang.String getCustomerId()

Description copied from interface: `HBCIPassport`

Gibt die Kunden-ID zurück, die von HBCI4Java für die Initialisierung eines Dialoges benutzt wird. Zu einer Benutzerkennung (`HBCIPassport.getUserId()`), welche jeweils an ein bestimmtes Medium gebunden ist, kann es mehrere Kunden-IDs geben. Die verschiedenen Kunden-IDs entsprechen verschiedenen Rollen, in denen der Benutzer auftreten kann.

In den meisten Fällen gibt es zu einer Benutzerkennung nur eine einzige Kunden-ID. Wird von der Bank keine Kunden-ID explizit vergeben, so ist die Kunden-ID identisch mit der Benutzerkennung.

Siehe dazu auch `HBCIJob.addToQueue(String)`.

Specified by:
  `getCustomerId` in interface `HBCIPassport`
Overrides:
  `getCustomerId` in class `AbstractHBCIPassport`
Returns:
  Kunden-ID für die HBCI-Kommunikation
See Also:
  `AbstractHBCIPassport.getCustomerId()`

#### getDefaultCustomerId

    public java.lang.String getDefaultCustomerId()

Liefert die Default-Kundenkennung.

Returns:
  die Default-Kundenkennung.

#### setDefaultCustomerId

    public void setDefaultCustomerId​(java.lang.String defaultCustomerId)

Speichert die Default-Kundenkennung.

Parameters:
  `defaultCustomerId` - die Default-Kundenkennung.

#### setBankId

    public void setBankId​(java.lang.String bankId)

Speichert die Bank-ID.

Parameters:
  `bankId` - die Bank-ID.

#### getBankId

    public java.lang.String getBankId()

Liefert die Bank-ID.

Returns:
  die Bank-ID.

#### setFileName

    public void setFileName​(java.lang.String filename)

Description copied from interface: `HBCIPassportChipcard`
Legt den Dateinamen fuer die zusaetzliche Schluesseldatei fest.

Specified by:
  `setFileName` in interface `HBCIPassportChipcard`
See Also:
  `HBCIPassportChipcard.setFileName(java.lang.String)`

#### getFileName

    public java.lang.String getFileName()

Description copied from interface: `HBCIPassportChipcard`
Gibt den Dateinamen für die zusätzliche Schlüsseldatei zurück. Diese Datei enthält gecachte Daten, um das Initialisieren eines `HBCIHandler` mit einem DDV-Passport zu beschleunigen. Defaultmäßig setzt sich der Dateiname aus einem definiertbaren Prefix (Pfad) und der Seriennummer der Chipkarte zusammen. Da diese Datei vertrauliche Daten enthält (z.B. die Kontodaten des Bankkunden), wird diese Datei verschlüsselt. Vor dem erstmaligen Lesen bzw. beim Erzeugen dieser Datei wird deshalb via Callback-Mechanismus nach einem Passwort gefragt, das zur Erzeugung des kryptografischen Schlüssels für die Verschlüsselung benutzt wird.

Specified by:
  `getFileName` in interface `HBCIPassportChipcard`
Returns:
  Dateiname der Cache-Datei
See Also:
  `HBCIPassportChipcard.getFileName()`

#### setCardId

    public void setCardId​(java.lang.String cardid)

Speichert die Karten-ID.

Parameters:
  `cardid` -

#### getCardId

    public java.lang.String getCardId()

Liefert die Karten-ID.

Returns:
  die Karten-ID.

#### setPINEntered

    public void setPINEntered​(boolean pinEntered)

Speichert, ob die PIN eingegeben wurde.

Parameters:
  `pinEntered` - true, wenn die PIN eingegeben wurde.

#### isPINEntered

    public boolean isPINEntered()

Liefert true, wenn die PIN eingegeben wurde.

Returns:
  true, wenn die PIN eingegeben wurde.

#### setUseSoftPin

    public void setUseSoftPin​(int useSoftPin)

Legt fest, ob die PIN per Tastatur eingegeben werden soll.

Parameters:
  `useSoftPin` - true, wenn die PIN per Tastatur eingegeben werden soll.

#### getUseSoftPin

    public int getUseSoftPin()

Prueft, ob die PIN per Tastatur eingegeben werden soll.

Returns:
  true, wenn die PIN per Tastatur eingegeben werden soll.

#### setSoftPin

    public void setSoftPin​(byte[] softPin)

Speichert die ueber die Tastatur eingegebene PIN.

Parameters:
  `softPin` - die ueber die Tastatur eingegebene PIN.

#### getSoftPin

    public byte[] getSoftPin()

Liefert die ueber die Tastatur eingegebene PIN.

Returns:
  die ueber die Tastatur eingegebene PIN.

#### setEntryIdx

    public void setEntryIdx​(int entryIdx)

Speichert den Index des Bankzugangs.

Parameters:
  `entryIdx` - der Index des Bankzugangs.

#### getEntryIdx

    public int getEntryIdx()

Liefert den Index des Bankzugangs.

Returns:
  der Index des Bankzugangs.

#### setProfileVersion

    public void setProfileVersion​(java.lang.String version)

Specified by:
  `setProfileVersion` in interface `HBCIPassportInternal`
Overrides:
  `setProfileVersion` in class `AbstractHBCIPassport`
See Also:
  `AbstractHBCIPassport.setProfileVersion(java.lang.String)`

#### getProfileVersion

    public java.lang.String getProfileVersion()

Specified by:
  `getProfileVersion` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.getProfileVersion()`

#### setInstSigKey

    public void setInstSigKey​(HBCIKey key)

Specified by:
  `setInstSigKey` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.setInstSigKey(org.kapott.hbci.manager.HBCIKey)`

#### setInstEncKey

    public void setInstEncKey​(HBCIKey key)

Specified by:
  `setInstEncKey` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.setInstEncKey(org.kapott.hbci.manager.HBCIKey)`

#### setMyPublicSigKey

    public void setMyPublicSigKey​(HBCIKey key)

Specified by:
  `setMyPublicSigKey` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.setMyPublicSigKey(org.kapott.hbci.manager.HBCIKey)`

#### setMyPrivateSigKey

    public void setMyPrivateSigKey​(HBCIKey key)

Specified by:
  `setMyPrivateSigKey` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.setMyPrivateSigKey(org.kapott.hbci.manager.HBCIKey)`

#### setMyPublicEncKey

    public void setMyPublicEncKey​(HBCIKey key)

Specified by:
  `setMyPublicEncKey` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.setMyPublicEncKey(org.kapott.hbci.manager.HBCIKey)`

#### setMyPrivateEncKey

    public void setMyPrivateEncKey​(HBCIKey key)

Specified by:
  `setMyPrivateEncKey` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.setMyPrivateEncKey(org.kapott.hbci.manager.HBCIKey)`

#### setMyPublicDigKey

    public void setMyPublicDigKey​(HBCIKey key)

Specified by:
  `setMyPublicDigKey` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.setMyPublicDigKey(org.kapott.hbci.manager.HBCIKey)`

#### setMyPrivateDigKey

    public void setMyPrivateDigKey​(HBCIKey key)

Specified by:
  `setMyPrivateDigKey` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.setMyPrivateDigKey(org.kapott.hbci.manager.HBCIKey)`

#### getInstSigKeyName

    public java.lang.String getInstSigKeyName()

Specified by:
  `getInstSigKeyName` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.getInstSigKeyName()`

#### getInstSigKeyNum

    public java.lang.String getInstSigKeyNum()

Specified by:
  `getInstSigKeyNum` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.getInstSigKeyNum()`

#### getInstSigKeyVersion

    public java.lang.String getInstSigKeyVersion()

Specified by:
  `getInstSigKeyVersion` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.getInstSigKeyVersion()`

#### getInstEncKeyName

    public java.lang.String getInstEncKeyName()

Specified by:
  `getInstEncKeyName` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.getInstEncKeyName()`

#### getInstEncKeyNum

    public java.lang.String getInstEncKeyNum()

Specified by:
  `getInstEncKeyNum` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.getInstEncKeyNum()`

#### getInstEncKeyVersion

    public java.lang.String getInstEncKeyVersion()

Specified by:
  `getInstEncKeyVersion` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.getInstEncKeyVersion()`

#### getMySigKeyName

    public java.lang.String getMySigKeyName()

Specified by:
  `getMySigKeyName` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.getMySigKeyName()`

#### getMySigKeyNum

    public java.lang.String getMySigKeyNum()

Specified by:
  `getMySigKeyNum` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.getMySigKeyNum()`

#### getMySigKeyVersion

    public java.lang.String getMySigKeyVersion()

Specified by:
  `getMySigKeyVersion` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.getMySigKeyVersion()`

#### getMyEncKeyName

    public java.lang.String getMyEncKeyName()

Specified by:
  `getMyEncKeyName` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.getMyEncKeyName()`

#### getMyEncKeyNum

    public java.lang.String getMyEncKeyNum()

Specified by:
  `getMyEncKeyNum` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.getMyEncKeyNum()`

#### getMyEncKeyVersion

    public java.lang.String getMyEncKeyVersion()

Specified by:
  `getMyEncKeyVersion` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.getMyEncKeyVersion()`

#### hash

    public byte[] hash​(byte[] data)

Specified by:
  `hash` in interface `HBCIPassportInternal`
Overrides:
  `hash` in class `AbstractRDHPassport`
See Also:
  `AbstractRDHPassport.hash(byte[])`

#### sign

    public byte[] sign​(byte[] data)

Specified by:
  `sign` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.sign(byte[])`

#### verify

    public boolean verify​(byte[] data,
                          byte[] sig)

Specified by:
  `verify` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.verify(byte[], byte[])`

#### encrypt

    public byte[][] encrypt​(byte[] plainMsg)

Specified by:
  `encrypt` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.encrypt(byte[])`

#### decrypt

    public byte[] decrypt​(byte[] cryptedKey,
                          byte[] cryptedMsg)

Specified by:
  `decrypt` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassportInternal.decrypt(byte[], byte[])`

#### close

    public void close()

Description copied from interface: `HBCIPassport`

Schließen eines Passport-Objektes. Diese Methode wird normalerweise nicht manuell aufgerufen, da das bereits von `HBCIHandler.close()` erledigt wird. Wurde jedoch ein Passport-Objekt erzeugt, und das anschließende Erzeugen eines HBCIHandler-Objektes schlägt fehlt, dann ist das Passport immer noch geöffnet und sollte mit dieser Methode geschlossen werden, falls es nicht weiterbenutzt werden soll.

Am Ende eines Programmes sollte also in jedem Fall entweder ein erfolgreiches `HBCIHandler.close()` oder wenigstens ein `HBCIPassport.close()` für jedes erzeugte Passport-Objekt stehen. Das ist vor allem für Passport-Varianten wichtig, die auf einer Chipkarte basieren, da mit dieser Methode die entsprechenden Ressourcen wieder freigegeben werden.

Specified by:
  `close` in interface `HBCIPassport`
Overrides:
  `close` in class `AbstractHBCIPassport`
See Also:
  `AbstractHBCIPassport.close()`

#### saveBankData

    public void saveBankData()

Description copied from interface: `HBCIPassportChipcard`
Schreiben der aktuellen Zugangsdaten auf die Chipkarte. Werden Zugangsdaten des Passport verändert (z.B. mit `HBCIPassport.setHost(String)`, so werden diese Daten durch die Methode `HBCIPassport.saveChanges()` nicht auf der Chipkarte gespeichert. Durch Aufruf dieser Methode wird das Schreiben der aktuellen Zugangsdaten erzwungen. Zu den hiervon betroffenen Daten zählen der Ländercode der Bank, die Bankleitzahl, die Hostadresse des HBCI-Servers sowie die User-ID zur Anmeldung am HBCI-Server.

Specified by:
  `saveBankData` in interface `HBCIPassportChipcard`
See Also:
  `HBCIPassportChipcard.saveBankData()`

#### resetPassphrase

    public void resetPassphrase()

Specified by:
  `resetPassphrase` in interface `HBCIPassportInternal`
See Also:
  `HBCIPassport.hasInstSigKey()`

#### hasInstSigKey

    public boolean hasInstSigKey()

Specified by:
  `hasInstSigKey` in interface `HBCIPassport`
See Also:
  `HBCIPassport.hasInstSigKey()`

#### hasInstEncKey

    public boolean hasInstEncKey()

Specified by:
  `hasInstEncKey` in interface `HBCIPassport`
See Also:
  `HBCIPassport.hasInstEncKey()`

#### hasMySigKey

    public boolean hasMySigKey()

Specified by:
  `hasMySigKey` in interface `HBCIPassport`
See Also:
  `HBCIPassport.hasMySigKey()`

#### hasMyEncKey

    public boolean hasMyEncKey()

Specified by:
  `hasMyEncKey` in interface `HBCIPassport`
See Also:
  `HBCIPassport.hasMyEncKey()`

#### getMyPublicSigKey

    public HBCIKey getMyPublicSigKey()

Specified by:
  `getMyPublicSigKey` in interface `HBCIPassport`
See Also:
  `HBCIPassport.getMyPublicSigKey()`

#### getMyPublicEncKey

    public HBCIKey getMyPublicEncKey()

Specified by:
  `getMyPublicEncKey` in interface `HBCIPassport`
See Also:
  `HBCIPassport.getMyPublicEncKey()`

#### getMyPublicDigKey

    public HBCIKey getMyPublicDigKey()

Specified by:
  `getMyPublicDigKey` in interface `HBCIPassport`
See Also:
  `HBCIPassport.getMyPublicDigKey()`

#### getMyPrivateSigKey

    public HBCIKey getMyPrivateSigKey()

Specified by:
  `getMyPrivateSigKey` in interface `HBCIPassport`
See Also:
  `HBCIPassport.getMyPrivateSigKey()`

#### getMyPrivateEncKey

    public HBCIKey getMyPrivateEncKey()

Specified by:
  `getMyPrivateEncKey` in interface `HBCIPassport`
See Also:
  `HBCIPassport.getMyPrivateEncKey()`

#### getMyPrivateDigKey

    public HBCIKey getMyPrivateDigKey()

Specified by:
  `getMyPrivateDigKey` in interface `HBCIPassport`
See Also:
  `HBCIPassport.getMyPrivateDigKey()`

#### getInstSigKey

    public HBCIKey getInstSigKey()

Specified by:
  `getInstSigKey` in interface `HBCIPassport`
See Also:
  `HBCIPassport.getInstSigKey()`

#### getInstEncKey

    public HBCIKey getInstEncKey()

Specified by:
  `getInstEncKey` in interface `HBCIPassport`
See Also:
  `HBCIPassport.getInstEncKey()`

#### saveChanges

    public void saveChanges()

Description copied from interface: `HBCIPassport`
Speichern der Änderungen an den Passport-Daten. Diese Methode sollte eigentlich niemals manuell aus einer Anwendung heraus aufgerufen werden, sondern wird vom HBCI-Kernel benutzt. Das manuelle Aufrufen von `saveChanges` ist nur dann sinnvoll, wenn irgendwelche Passport-Daten manuell verändert werden (`HBCIPassport.setHost(String)`, `HBCIPassport.clearBPD()` usw.) und diese Änderungen explizit gespeichert werden sollen.

Specified by:
  `saveChanges` in interface `HBCIPassport`
See Also:
  `HBCIPassport.saveChanges()`

#### readBankData

    public void readBankData()

Liest die Bank-Daten.

#### readKeyData

    public void readKeyData()

Liest die Schluesseldaten.

#### initCT

    protected void initCT()

Initialisiert die Karte.

#### ctEnterPIN

    protected void ctEnterPIN()

Fuehrt die PIN-Eingabe durch.

#### ctReadBankData

    protected void ctReadBankData()

Liest die Bankdaten.

#### ctSaveBankData

    protected void ctSaveBankData()

Speichert die Bankdaten.

#### ctReadKeyData

    protected void ctReadKeyData()

Liest die Schluesseldaten.

#### ctSaveSigId

    protected void ctSaveSigId()

Speichert die Signatur-ID.

#### ctSign

    protected byte[] ctSign​(byte[] data)

Signiert die Daten.

Parameters:
  `data` - die zu signierenden Daten.
Returns:

#### ctVerify

    protected boolean ctVerify​(byte[] data,
                               byte[] sig)

Prueft die Signatur.

Parameters:
  `data` - die Daten.
  `sig` - die Signatur.
Returns:
  true, wenn die Signatur ok ist.

#### ctEncipher

    protected byte[] ctEncipher​(byte[] data)

Verschluesselt die Daten.

Parameters:
  `data` - die Daten.
Returns:
  die verschluesselten Daten.

#### ctDecipher

    protected byte[] ctDecipher​(byte[] data)

Entschluesselt die Daten.

Parameters:
  `data` - die verschluesselten Daten.
Returns:
  die entschluesselten Daten.

#### closeCT

    protected void closeCT()

Schliesst den Kartenleser.