Package org.kapott.hbci.smartcardio

# Class DDVCardService

java.lang.Object
org.kapott.hbci.smartcardio.SmartCardService
org.kapott.hbci.smartcardio.HBCICardService
org.kapott.hbci.smartcardio.DDVCardService

Direct Known Subclasses:
  `DDVCardService0`, `DDVCardService1`

public abstract class DDVCardService extends HBCICardService
Abstrakter DDV-Cardservice fuer den DDVPCSC-Passport, basierend auf dem OCF-Code aus HBCI4Java 2.5.8.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.kapott.hbci.smartcardio.SmartCardService

`SmartCardService.Feature`

## Constructor Summary

Constructors
Constructor
Description
`DDVCardService()`

## Method Summary

Modifier and Type
Method
Description
`protected abstract byte[]`
`calculateSignature(byte[] data_l)`
Erzeugt eine Signatur.
`protected byte[]`
`createPINVerificationDataStructure(int pwdId)`
Erzeugt das PIN-Check-Kommando.
`byte[]`
`decrypt(int keynum, byte[] encdata)`
Entschluesselt die Daten.
`String`
`getCID()`
Liefert die CID der Karte.
`byte[][]`
`getEncryptionKeys(int keynum)`
Liefert die Encryption-Keys.
`DDVBankData`
`readBankData(int idx)`
Liefert die Bank-Daten fuer den angegebenen Entry-Index.
`abstract DDVKeyData[]`
`readKeyData()`
Liefert die Schluesseldaten.
`int`
`readSigId()`
Liefert die Sig-ID.
`byte[]`
`sign(byte[] data)`
Signiert die Daten.
`void`
`writeBankData(int idx, DDVBankData bankData)`
Speichert die Bank-Daten auf die Karte.
`void`
`writeSigId(int sigId)`
Speichert die Sig-ID.

### Methods inherited from class org.kapott.hbci.smartcardio.HBCICardService

`getCardId, verifyHardPIN, verifySoftPIN`

### Methods inherited from class org.kapott.hbci.smartcardio.SmartCardService

`check, close, createInstance, expand, getCard, getChallenge, getFeatures, getKeyInfo, init, internalAuthenticate, putData, readBinary, readRecordBySFI, receive, receive, selectFile, selectSubFile, send, toBytes, toHex, toHex, updateRecordBySFI, writeRecordBySFI`

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

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

## Constructor Details

### DDVCardService

public DDVCardService()

## Method Details

### readKeyData

public abstract DDVKeyData[] readKeyData()
Liefert die Schluesseldaten.

Returns:
  die Schluesseldaten.

### calculateSignature

protected abstract byte[] calculateSignature(byte[] data_l)
Erzeugt eine Signatur.

Parameters:
  `data_l` - die zu signierenden Daten.
Returns:
  die Signature,

### getCID

public String getCID()
Description copied from class: `HBCICardService`
Liefert die CID der Karte.

Specified by:
  `getCID` in class `HBCICardService`
Returns:
  die CID der Karte.
See Also:
  - `HBCICardService.getCID()`

### readBankData

public DDVBankData readBankData(int idx)
Liefert die Bank-Daten fuer den angegebenen Entry-Index.

Parameters:
  `idx` - der Entry-Index.
Returns:
  die Bank-Daten.

### writeBankData

public void writeBankData(int idx, DDVBankData bankData)
Speichert die Bank-Daten auf die Karte.

Parameters:
  `idx` - Entry-Index.
  `bankData` - die Bank-Daten.

### readSigId

public int readSigId()
Liefert die Sig-ID.

Returns:
  die Sig-ID.

### writeSigId

public void writeSigId(int sigId)
Speichert die Sig-ID.

Parameters:
  `sigId` - die Sig-ID.

### sign

public byte[] sign(byte[] data)
Signiert die Daten.

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

### getEncryptionKeys

public byte[][] getEncryptionKeys(int keynum)
Liefert die Encryption-Keys.

Parameters:
  `keynum` - Schluessel-Nummer.
Returns:
  Encryption-Keys.

### decrypt

public byte[] decrypt(int keynum, byte[] encdata)
Entschluesselt die Daten.

Parameters:
  `keynum` - die Schluessel-Nummer.
  `encdata` - die verschluesselten Daten.
Returns:
  die entschluesselten Daten.

### createPINVerificationDataStructure

protected byte[] createPINVerificationDataStructure(int pwdId) throws IOException
Description copied from class: `HBCICardService`
Erzeugt das PIN-Check-Kommando.

Specified by:
  `createPINVerificationDataStructure` in class `HBCICardService`
Returns:
Throws:
  `IOException`
See Also:
  - `HBCICardService.createPINVerificationDataStructure(int)`