gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libeufin] branch master updated: collect VEU signatures, still no verif


From: gnunet
Subject: [libeufin] branch master updated: collect VEU signatures, still no verification
Date: Wed, 13 Nov 2019 12:34:29 +0100

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository libeufin.

The following commit(s) were added to refs/heads/master by this push:
     new 81db4a2  collect VEU signatures, still no verification
81db4a2 is described below

commit 81db4a24671f343525fd04dd690b66e154c22b4b
Author: Florian Dold <address@hidden>
AuthorDate: Wed Nov 13 12:34:24 2019 +0100

    collect VEU signatures, still no verification
---
 .../src/main/kotlin/tech/libeufin/sandbox/DB.kt    | 22 ++++++++++++++++++++++
 .../tech/libeufin/sandbox/EbicsProtocolBackend.kt  | 19 ++++++++++++++-----
 .../schema/ebics_s001/UserSignatureData.kt         |  6 +++---
 3 files changed, 39 insertions(+), 8 deletions(-)

diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt 
b/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt
index 2b48dd7..7f1e97b 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt
@@ -234,6 +234,28 @@ class EbicsUploadTransactionEntity(id: EntityID<String>) : 
Entity<String>(id) {
 }
 
 
+object EbicsOrderSignaturesTable : IntIdTable() {
+    val orderID = text("orderID")
+    val orderType = text("orderType")
+    val partnerID = text("partnerID")
+    val userID = text("userID")
+    val signatureAlgorithm = text("signatureAlgorithm")
+    val signatureValue = blob("signatureValue")
+}
+
+
+class EbicsOrderSignatureEntity(id: EntityID<Int>) : IntEntity(id) {
+    companion object : 
IntEntityClass<EbicsOrderSignatureEntity>(EbicsOrderSignaturesTable)
+
+    var orderID by EbicsOrderSignaturesTable.orderID
+    var orderType by EbicsOrderSignaturesTable.orderType
+    var partnerID by EbicsOrderSignaturesTable.partnerID
+    var userID by EbicsOrderSignaturesTable.userID
+    var signatureAlgorithm by EbicsOrderSignaturesTable.signatureAlgorithm
+    var signatureValue by EbicsOrderSignaturesTable.signatureValue
+}
+
+
 object EbicsUploadTransactionChunksTable : IdTable<String>() {
     override val id =
         text("transactionID").entityId()
diff --git 
a/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt 
b/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt
index 4b90592..7f3cf99 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt
@@ -540,6 +540,8 @@ suspend fun ApplicationCall.ebicsweb() {
                         val transactionID = 
EbicsOrderUtil.generateTransactionId()
                         val orderType =
                             
requestObject.header.static.orderDetails?.orderType ?: throw 
EbicsInvalidRequestError()
+                        val partnerID = staticHeader.partnerID ?: throw 
EbicsInvalidRequestError()
+                        val userID = staticHeader.userID ?: throw 
EbicsInvalidRequestError()
                         if (staticHeader.numSegments == null) {
                             println("handling initialization for order type 
$orderType")
                             val response = when (orderType) {
@@ -602,11 +604,6 @@ suspend fun ApplicationCall.ebicsweb() {
                             val plainSigData = 
InflaterInputStream(decryptedSignatureData.inputStream()).use {
                                 it.readAllBytes()
                             }
-                            //val sigDataObject = 
XMLUtil.convertStringToJaxb<OrderSignatureData>(plainSigData)
-                            println("signature data: 
${plainSigData.toString(Charsets.UTF_8)}")
-
-                            val sig = 
XMLUtil.convertStringToJaxb<UserSignatureData>(plainSigData.toString(Charsets.UTF_8))
-                            val sigVal = 
sig.value.orderSignatureList?.get(0)?.signatureValue
 
                             println("creating upload transaction for 
transactionID $transactionID")
                             EbicsUploadTransactionEntity.new(transactionID) {
@@ -618,6 +615,18 @@ suspend fun ApplicationCall.ebicsweb() {
                                 this.numSegments = numSegments.toInt()
                                 this.transactionKeyEnc = 
SerialBlob(transactionKeyEnc)
                             }
+                            val sigObj = 
XMLUtil.convertStringToJaxb<UserSignatureData>(plainSigData.toString(Charsets.UTF_8))
+                            for (sig in sigObj.value.orderSignatureList ?: 
listOf()) {
+                                EbicsOrderSignatureEntity.new {
+                                    this.orderID = orderID
+                                    this.orderType = orderType
+                                    this.partnerID = sig.partnerID
+                                    this.userID = sig.userID
+                                    this.signatureAlgorithm = 
sig.signatureVersion
+                                    this.signatureValue = 
SerialBlob(sig.signatureValue)
+                                }
+                            }
+
                             
EbicsResponse.createForUploadInitializationPhase(transactionID, orderID)
                         }
                     }
diff --git 
a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_s001/UserSignatureData.kt 
b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_s001/UserSignatureData.kt
index 615bf1f..c014f14 100644
--- 
a/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_s001/UserSignatureData.kt
+++ 
b/sandbox/src/main/kotlin/tech/libeufin/schema/ebics_s001/UserSignatureData.kt
@@ -10,7 +10,7 @@ class UserSignatureData {
     var orderSignatureList: List<OrderSignatureData>? = null
 
     @XmlAccessorType(XmlAccessType.NONE)
-    @XmlType(name = "", propOrder = ["signatureVersion", "signatureValue", 
"partnerID", "customerID"])
+    @XmlType(name = "", propOrder = ["signatureVersion", "signatureValue", 
"partnerID", "userID"])
     class OrderSignatureData {
         @XmlElement(name = "SignatureVersion")
         lateinit var signatureVersion: String
@@ -21,7 +21,7 @@ class UserSignatureData {
         @XmlElement(name = "PartnerID")
         lateinit var partnerID: String
 
-        @XmlElement(name = "CustomerID")
-        lateinit var customerID: String
+        @XmlElement(name = "UserID")
+        lateinit var userID: String
     }
 }
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]