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
`DDVCardService()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`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.
`java.lang.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 Detail

#### DDVCardService

    public DDVCardService()

### Method Detail

#### 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 java.lang.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 java.io.IOException

Description copied from class: `HBCICardService`
Erzeugt das PIN-Check-Kommando.

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