Implemented detecting a chipTAN's HHD version
This commit is contained in:
parent
5e57d2a490
commit
827fd7bc92
|
@ -938,7 +938,7 @@ open class FinTsClient @JvmOverloads constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
return TanProcedure(procedureName, parameters.securityFunction,
|
return TanProcedure(procedureName, parameters.securityFunction,
|
||||||
mapToTanProcedureType(parameters) ?: TanProcedureType.EnterTan)
|
mapToTanProcedureType(parameters) ?: TanProcedureType.EnterTan, mapHhdVersion(parameters))
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun mapToTanProcedureType(parameters: TanProcedureParameters): TanProcedureType? {
|
protected open fun mapToTanProcedureType(parameters: TanProcedureParameters): TanProcedureType? {
|
||||||
|
@ -987,6 +987,16 @@ open class FinTsClient @JvmOverloads constructor(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected open fun mapHhdVersion(parameters: TanProcedureParameters): HHDVersion? {
|
||||||
|
return when {
|
||||||
|
technicalTanProcedureIdentificationContains(parameters, "HHD1.4") -> HHDVersion.HHD_1_4
|
||||||
|
technicalTanProcedureIdentificationContains(parameters, "HHD1.3") -> HHDVersion.HHD_1_3
|
||||||
|
parameters.versionZkaTanProcedure?.contains("1.4") == true -> HHDVersion.HHD_1_4
|
||||||
|
parameters.versionZkaTanProcedure?.contains("1.3") == true -> HHDVersion.HHD_1_4
|
||||||
|
else -> null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected open fun tanProcedureNameContains(name: String, vararg namesToTest: String): Boolean {
|
protected open fun tanProcedureNameContains(name: String, vararg namesToTest: String): Boolean {
|
||||||
namesToTest.forEach { nameToTest ->
|
namesToTest.forEach { nameToTest ->
|
||||||
if (name.contains(nameToTest.toLowerCase())) {
|
if (name.contains(nameToTest.toLowerCase())) {
|
||||||
|
@ -1007,6 +1017,7 @@ open class FinTsClient @JvmOverloads constructor(
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected open fun isJobSupported(account: AccountData, supportedJob: JobParameters): Boolean {
|
protected open fun isJobSupported(account: AccountData, supportedJob: JobParameters): Boolean {
|
||||||
for (allowedJobName in account.allowedJobNames) {
|
for (allowedJobName in account.allowedJobNames) {
|
||||||
if (allowedJobName == supportedJob.jobName) {
|
if (allowedJobName == supportedJob.jobName) {
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
package net.dankito.fints.model
|
||||||
|
|
||||||
|
|
||||||
|
enum class HHDVersion {
|
||||||
|
|
||||||
|
HHD_1_3,
|
||||||
|
|
||||||
|
HHD_1_4
|
||||||
|
|
||||||
|
}
|
|
@ -6,7 +6,8 @@ import net.dankito.fints.messages.datenelemente.implementierte.signatur.Sicherhe
|
||||||
open class TanProcedure(
|
open class TanProcedure(
|
||||||
val displayName: String,
|
val displayName: String,
|
||||||
val securityFunction: Sicherheitsfunktion,
|
val securityFunction: Sicherheitsfunktion,
|
||||||
val type: TanProcedureType
|
val type: TanProcedureType,
|
||||||
|
val hhdVersion: HHDVersion? = null
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue