Using now CBC and TripleDES as PinTan default values for Operation mode and Encryption algorithm in encryption header

This commit is contained in:
dankito 2020-08-11 18:13:21 +02:00
parent dd74a613f2
commit 384523e854
4 changed files with 10 additions and 10 deletions

View File

@ -17,8 +17,6 @@ open class VerschluesselungsalgorithmusKodiert(algorithm: Verschluesselungsalgor
companion object { companion object {
val AllowedValues = allCodes<Verschluesselungsalgorithmus>() val AllowedValues = allCodes<Verschluesselungsalgorithmus>()
val FinTsMock = Verschluesselungsalgorithmus.AES_256
} }
} }

View File

@ -24,12 +24,13 @@ import net.dankito.banking.fints.messages.datenelementgruppen.Datenelementgruppe
* Belegung nicht zulässig. * Belegung nicht zulässig.
*/ */
open class VerschluesselungsalgorithmusDatenelementgruppe( open class VerschluesselungsalgorithmusDatenelementgruppe(
mode: Operationsmodus mode: Operationsmodus,
encryptionAlgorithm: Verschluesselungsalgorithmus
) : Datenelementgruppe(listOf( ) : Datenelementgruppe(listOf(
VerwendungDesVerschluesselungsalgorithmusKodiert(), // allowed: 2 VerwendungDesVerschluesselungsalgorithmusKodiert(), // allowed: 2
OperationsmodusKodiert(mode), // allowed: 2, 18, 19 OperationsmodusKodiert(mode), // allowed: 2, 18, 19
VerschluesselungsalgorithmusKodiert(VerschluesselungsalgorithmusKodiert.FinTsMock), // allowed: 13, 14 VerschluesselungsalgorithmusKodiert(encryptionAlgorithm), // allowed: 13, 14
WertDesAlgorithmusparametersSchluessel(WertDesAlgorithmusparametersSchluessel.FinTsMock), WertDesAlgorithmusparametersSchluessel(WertDesAlgorithmusparametersSchluessel.FinTsMock),
BezeichnerFuerAlgorithmusparameterSchluesselDatenelement(BezeichnerFuerAlgorithmusparameterSchluesselDatenelement.FinTsMock), // allowed: 6 BezeichnerFuerAlgorithmusparameterSchluesselDatenelement(BezeichnerFuerAlgorithmusparameterSchluesselDatenelement.FinTsMock), // allowed: 6
// even though spec says for PIN/TAN no value may be set here ("Belegung nicht zulässig"), this value has to be set: // even though spec says for PIN/TAN no value may be set here ("Belegung nicht zulässig"), this value has to be set:

View File

@ -1,10 +1,8 @@
package net.dankito.banking.fints.messages.segmente.implementierte package net.dankito.banking.fints.messages.segmente.implementierte
import net.dankito.banking.fints.messages.datenelemente.implementierte.encryption.Komprimierungsfunktion import net.dankito.banking.fints.messages.datenelemente.implementierte.encryption.Komprimierungsfunktion
import net.dankito.banking.fints.messages.datenelemente.implementierte.signatur.OperationsmodusKodiert import net.dankito.banking.fints.messages.datenelemente.implementierte.encryption.Verschluesselungsalgorithmus
import net.dankito.banking.fints.messages.datenelemente.implementierte.signatur.Schluesselart import net.dankito.banking.fints.messages.datenelemente.implementierte.signatur.*
import net.dankito.banking.fints.messages.datenelemente.implementierte.signatur.Schluesselnummer
import net.dankito.banking.fints.messages.datenelemente.implementierte.signatur.Schluesselversion
import net.dankito.banking.fints.model.MessageBaseData import net.dankito.banking.fints.model.MessageBaseData
@ -18,7 +16,8 @@ open class PinTanVerschluesselungskopf(
baseData.customer, baseData.customer,
date, date,
time, time,
OperationsmodusKodiert.FinTsMockValue, Operationsmodus.Cipher_Block_Chaining,
Verschluesselungsalgorithmus.Two_Key_Triple_DES,
Schluesselart.Chiffrierschluessel, Schluesselart.Chiffrierschluessel,
Schluesselnummer.FinTsMockValue, Schluesselnummer.FinTsMockValue,
Schluesselversion.FinTsMockValue, Schluesselversion.FinTsMockValue,

View File

@ -3,6 +3,7 @@ package net.dankito.banking.fints.messages.segmente.implementierte
import net.dankito.banking.fints.messages.datenelemente.implementierte.NotAllowedDatenelement import net.dankito.banking.fints.messages.datenelemente.implementierte.NotAllowedDatenelement
import net.dankito.banking.fints.messages.datenelemente.implementierte.encryption.Komprimierungsfunktion import net.dankito.banking.fints.messages.datenelemente.implementierte.encryption.Komprimierungsfunktion
import net.dankito.banking.fints.messages.datenelemente.implementierte.encryption.KomprimierungsfunktionDatenelement import net.dankito.banking.fints.messages.datenelemente.implementierte.encryption.KomprimierungsfunktionDatenelement
import net.dankito.banking.fints.messages.datenelemente.implementierte.encryption.Verschluesselungsalgorithmus
import net.dankito.banking.fints.messages.datenelemente.implementierte.signatur.* import net.dankito.banking.fints.messages.datenelemente.implementierte.signatur.*
import net.dankito.banking.fints.messages.datenelementgruppen.implementierte.Segmentkopf import net.dankito.banking.fints.messages.datenelementgruppen.implementierte.Segmentkopf
import net.dankito.banking.fints.messages.datenelementgruppen.implementierte.encryption.VerschluesselungsalgorithmusDatenelementgruppe import net.dankito.banking.fints.messages.datenelementgruppen.implementierte.encryption.VerschluesselungsalgorithmusDatenelementgruppe
@ -38,6 +39,7 @@ open class Verschluesselungskopf(
date: Int, date: Int,
time: Int, time: Int,
mode: Operationsmodus, mode: Operationsmodus,
encryptionAlgorithm: Verschluesselungsalgorithmus,
key: Schluesselart, key: Schluesselart,
keyNumber: Int, keyNumber: Int,
keyVersion: Int, keyVersion: Int,
@ -50,7 +52,7 @@ open class Verschluesselungskopf(
RolleDesSicherheitslieferantenKodiert(), // allowed: 1, 4 RolleDesSicherheitslieferantenKodiert(), // allowed: 1, 4
SicherheitsidentifikationDetails(customer.customerSystemId), SicherheitsidentifikationDetails(customer.customerSystemId),
SicherheitsdatumUndUhrzeit(date, time), SicherheitsdatumUndUhrzeit(date, time),
VerschluesselungsalgorithmusDatenelementgruppe(mode), VerschluesselungsalgorithmusDatenelementgruppe(mode, encryptionAlgorithm),
Schluesselname(bank.countryCode, bank.bankCode, customer.customerId, key, keyNumber, keyVersion), Schluesselname(bank.countryCode, bank.bankCode, customer.customerId, key, keyNumber, keyVersion),
KomprimierungsfunktionDatenelement(algorithm), KomprimierungsfunktionDatenelement(algorithm),
NotAllowedDatenelement() // Certificate not applicapable for PIN/TAN NotAllowedDatenelement() // Certificate not applicapable for PIN/TAN