java.io.Serializable
, HBCIPassport
, HBCIPassportChipcard
, HBCIPassportInternal
public class HBCIPassportRSA extends AbstractRDHPassport implements HBCIPassportChipcard
Modifier and Type | Field | Description |
---|---|---|
protected static int |
CIPHER_ITERATIONS |
|
protected static byte[] |
CIPHER_SALT |
FOR_LOAD, FOR_SAVE
ROLE_CON, ROLE_ISS, ROLE_WIT
Constructor | Description |
---|---|
HBCIPassportRSA(java.lang.Object init) |
ct.
|
HBCIPassportRSA(java.lang.Object init,
int dummy) |
ct.
|
Modifier and Type | Method | Description |
---|---|---|
void |
close() |
Schließen eines Passport-Objektes.
|
protected void |
closeCT() |
|
protected byte[] |
ctDecipher(byte[] data) |
|
protected byte[] |
ctEncipher(byte[] data) |
|
protected void |
ctEnterPIN() |
|
protected void |
ctReadBankData() |
|
protected void |
ctReadKeyData() |
|
protected void |
ctSaveBankData() |
|
protected void |
ctSaveSigId() |
|
protected byte[] |
ctSign(byte[] data) |
|
protected boolean |
ctVerify(byte[] data,
byte[] sig) |
|
byte[] |
decrypt(byte[] cryptedKey,
byte[] cryptedMsg) |
|
byte[][] |
encrypt(byte[] plainMsg) |
|
java.lang.String |
getBankId() |
|
java.lang.String |
getCardId() |
|
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() |
|
int |
getEntryIdx() |
|
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() |
|
protected javax.crypto.SecretKey |
getPassportKey() |
|
java.lang.String |
getProfileVersion() |
|
byte[] |
getSoftPin() |
|
int |
getUseSoftPin() |
|
byte[] |
hash(byte[] data) |
|
boolean |
hasInstEncKey() |
|
boolean |
hasInstSigKey() |
|
boolean |
hasMyEncKey() |
|
boolean |
hasMySigKey() |
|
protected void |
initCT() |
|
boolean |
isPINEntered() |
|
void |
readBankData() |
|
void |
readKeyData() |
|
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) |
|
void |
setCardId(java.lang.String cardid) |
|
void |
setDefaultCustomerId(java.lang.String defaultCustomerId) |
|
void |
setEntryIdx(int entryIdx) |
|
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) |
|
protected void |
setPassportKey(javax.crypto.SecretKey passportKey) |
|
void |
setPINEntered(boolean pinEntered) |
|
void |
setProfileVersion(java.lang.String version) |
|
void |
setSoftPin(byte[] softPin) |
|
void |
setUseSoftPin(int useSoftPin) |
|
byte[] |
sign(byte[] data) |
|
boolean |
verify(byte[] data,
byte[] sig) |
afterCustomDialogInitHook, askForMissingData, beforeCustomDialogHook, calculatePassportKey, 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, postInitResponseHook, safeReplace, setBLZ, setBPD, setCID, setClientData, setCountry, setCustomerId, setFilterType, setHBCIVersion, setHost, setParamHeader, setParentHandlerData, setPersistentData, setPort, setProfileMethod, setSigId, setSysId, setUPD, setUserId, syncSigId, syncSysId
createMsgKey, getCommInstance, getCryptAlg, getCryptDataSize, getCryptFunction, getCryptKeyType, getCryptMode, getHashAlg, getPassportTypeName, getProfileMethod, getSigAlg, getSigFunction, getSigMode, getSignatureInstance, getSignatureParamSpec, getSysStatus, isSupported, needInstKeys, needUserKeys, needUserSig
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
protected static final byte[] CIPHER_SALT
protected static final int CIPHER_ITERATIONS
public HBCIPassportRSA(java.lang.Object init, int dummy)
init
- dummy
- public HBCIPassportRSA(java.lang.Object init)
init
- public java.lang.String getCustomerId()
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)
.
getCustomerId
in interface HBCIPassport
getCustomerId
in class AbstractHBCIPassport
public java.lang.String getDefaultCustomerId()
public void setDefaultCustomerId(java.lang.String defaultCustomerId)
public void setBankId(java.lang.String bankId)
public java.lang.String getBankId()
public void setFileName(java.lang.String filename)
HBCIPassportChipcard
setFileName
in interface HBCIPassportChipcard
HBCIPassportChipcard.setFileName(java.lang.String)
public java.lang.String getFileName()
HBCIPassportChipcard
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.getFileName
in interface HBCIPassportChipcard
HBCIPassportChipcard.getFileName()
public void setCardId(java.lang.String cardid)
public java.lang.String getCardId()
public void setPINEntered(boolean pinEntered)
public boolean isPINEntered()
public void setUseSoftPin(int useSoftPin)
public int getUseSoftPin()
public void setSoftPin(byte[] softPin)
public byte[] getSoftPin()
protected void setPassportKey(javax.crypto.SecretKey passportKey)
protected javax.crypto.SecretKey getPassportKey()
public void setEntryIdx(int entryIdx)
public int getEntryIdx()
public void setProfileVersion(java.lang.String version)
setProfileVersion
in interface HBCIPassportInternal
setProfileVersion
in class AbstractHBCIPassport
public java.lang.String getProfileVersion()
getProfileVersion
in interface HBCIPassportInternal
public void setInstSigKey(HBCIKey key)
setInstSigKey
in interface HBCIPassportInternal
public void setInstEncKey(HBCIKey key)
setInstEncKey
in interface HBCIPassportInternal
public void setMyPublicSigKey(HBCIKey key)
setMyPublicSigKey
in interface HBCIPassportInternal
public void setMyPrivateSigKey(HBCIKey key)
setMyPrivateSigKey
in interface HBCIPassportInternal
public void setMyPublicEncKey(HBCIKey key)
setMyPublicEncKey
in interface HBCIPassportInternal
public void setMyPrivateEncKey(HBCIKey key)
setMyPrivateEncKey
in interface HBCIPassportInternal
public void setMyPublicDigKey(HBCIKey key)
setMyPublicDigKey
in interface HBCIPassportInternal
public void setMyPrivateDigKey(HBCIKey key)
setMyPrivateDigKey
in interface HBCIPassportInternal
public java.lang.String getInstSigKeyName()
getInstSigKeyName
in interface HBCIPassportInternal
public java.lang.String getInstSigKeyNum()
getInstSigKeyNum
in interface HBCIPassportInternal
public java.lang.String getInstSigKeyVersion()
getInstSigKeyVersion
in interface HBCIPassportInternal
public java.lang.String getInstEncKeyName()
getInstEncKeyName
in interface HBCIPassportInternal
public java.lang.String getInstEncKeyNum()
getInstEncKeyNum
in interface HBCIPassportInternal
public java.lang.String getInstEncKeyVersion()
getInstEncKeyVersion
in interface HBCIPassportInternal
public java.lang.String getMySigKeyName()
getMySigKeyName
in interface HBCIPassportInternal
public java.lang.String getMySigKeyNum()
getMySigKeyNum
in interface HBCIPassportInternal
public java.lang.String getMySigKeyVersion()
getMySigKeyVersion
in interface HBCIPassportInternal
public java.lang.String getMyEncKeyName()
getMyEncKeyName
in interface HBCIPassportInternal
public java.lang.String getMyEncKeyNum()
getMyEncKeyNum
in interface HBCIPassportInternal
public java.lang.String getMyEncKeyVersion()
getMyEncKeyVersion
in interface HBCIPassportInternal
public byte[] hash(byte[] data)
hash
in interface HBCIPassportInternal
hash
in class AbstractRDHPassport
public byte[] sign(byte[] data)
sign
in interface HBCIPassportInternal
public boolean verify(byte[] data, byte[] sig)
verify
in interface HBCIPassportInternal
public byte[][] encrypt(byte[] plainMsg)
encrypt
in interface HBCIPassportInternal
public byte[] decrypt(byte[] cryptedKey, byte[] cryptedMsg)
decrypt
in interface HBCIPassportInternal
public void close()
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.
close
in interface HBCIPassport
close
in class AbstractHBCIPassport
public void saveBankData()
HBCIPassportChipcard
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.saveBankData
in interface HBCIPassportChipcard
HBCIPassportChipcard.saveBankData()
public void resetPassphrase()
resetPassphrase
in interface HBCIPassportInternal
public boolean hasInstSigKey()
hasInstSigKey
in interface HBCIPassport
public boolean hasInstEncKey()
hasInstEncKey
in interface HBCIPassport
public boolean hasMySigKey()
hasMySigKey
in interface HBCIPassport
public boolean hasMyEncKey()
hasMyEncKey
in interface HBCIPassport
public HBCIKey getMyPublicSigKey()
getMyPublicSigKey
in interface HBCIPassport
public HBCIKey getMyPublicEncKey()
getMyPublicEncKey
in interface HBCIPassport
public HBCIKey getMyPublicDigKey()
getMyPublicDigKey
in interface HBCIPassport
public HBCIKey getMyPrivateSigKey()
getMyPrivateSigKey
in interface HBCIPassport
public HBCIKey getMyPrivateEncKey()
getMyPrivateEncKey
in interface HBCIPassport
public HBCIKey getMyPrivateDigKey()
getMyPrivateDigKey
in interface HBCIPassport
public HBCIKey getInstSigKey()
getInstSigKey
in interface HBCIPassport
public HBCIKey getInstEncKey()
getInstEncKey
in interface HBCIPassport
public void saveChanges()
HBCIPassport
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.saveChanges
in interface HBCIPassport
public void readBankData()
public void readKeyData()
protected void initCT()
protected void ctEnterPIN()
protected void ctReadBankData()
protected void ctSaveBankData()
protected void ctReadKeyData()
protected void ctSaveSigId()
protected byte[] ctSign(byte[] data)
protected boolean ctVerify(byte[] data, byte[] sig)
protected byte[] ctEncipher(byte[] data)
protected byte[] ctDecipher(byte[] data)
protected void closeCT()
Copyright © 2018. All rights reserved.