summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--H005.go12
-rw-r--r--S002.go6
-rw-r--r--order.go7
-rw-r--r--xml.go7
4 files changed, 20 insertions, 12 deletions
diff --git a/H005.go b/H005.go
index 6f1b3e3..83f48d7 100644
--- a/H005.go
+++ b/H005.go
@@ -65,13 +65,13 @@ type H005HIARequestOrderDataType struct {
}
type H005AuthenticationPubKeyInfo struct {
- XMLName xml.Name `xml:"AuthenticationPubKeyInfo"`
- X509Data DSIGX509Data `xml:"ds:X509Data"`
- AuthenticationVersion string `xml:"AuthenticationVersion"` // TODO Use ENUM
+ XMLName xml.Name `xml:"AuthenticationPubKeyInfo"`
+ X509Data DSIGX509Data `xml:"ds:X509Data"`
+ AuthenticationVersion EbicsCertificateType `xml:"AuthenticationVersion"`
}
type H005EncryptionPubKeyInfo struct {
- XMLName xml.Name `xml:"EncryptionPubKeyInfo"`
- X509Data DSIGX509Data `xml:"ds:X509Data"`
- EncryptionVersion string `xml:"EncryptionVersion"` // TODO Use ENUM
+ XMLName xml.Name `xml:"EncryptionPubKeyInfo"`
+ X509Data DSIGX509Data `xml:"ds:X509Data"`
+ EncryptionVersion EbicsCertificateType `xml:"EncryptionVersion"`
}
diff --git a/S002.go b/S002.go
index a2e4d4b..f9645a5 100644
--- a/S002.go
+++ b/S002.go
@@ -3,9 +3,9 @@ package libebics
import "encoding/xml"
type S002SignaturePubKeyInfoType struct {
- XMLName xml.Name `xml:"esig:SignaturePubKeyInfo"`
- X509Data DSIGX509Data `xml:"ds:X509Data"`
- SignatureVersion string `xml:"esig:SignatureVersion"` // TODO Use ENUM
+ XMLName xml.Name `xml:"esig:SignaturePubKeyInfo"`
+ X509Data DSIGX509Data `xml:"ds:X509Data"`
+ SignatureVersion EbicsCertificateType `xml:"esig:SignatureVersion"`
}
type S002SignaturePubKeyOrderDataType struct {
diff --git a/order.go b/order.go
index f200461..273f7ff 100644
--- a/order.go
+++ b/order.go
@@ -27,7 +27,7 @@ func GenerateIniRequest(signatureCertificate EbicsCertificate) (string, error) {
signatureCertificate.x509Certificate, // TODO Proper Base64 Marshalling
),
},
- SignatureVersion: signatureCertificate.ebicsCertificateType.String(),
+ SignatureVersion: signatureCertificate.ebicsCertificateType,
},
PartnerID: "MV008078",
UserID: "SCHOLZ01",
@@ -38,6 +38,7 @@ func GenerateIniRequest(signatureCertificate EbicsCertificate) (string, error) {
return "", err
}
+ fmt.Print(string(orderData_xml))
zlibWriter.Write(orderData_xml)
zlibWriter.Close()
@@ -98,7 +99,7 @@ func GenerateHiaRequest(authenticationCertificate EbicsCertificate, encryptionCe
authenticationCertificate.x509Certificate, // TODO Proper Base64 Marshalling
),
},
- AuthenticationVersion: authenticationCertificate.ebicsCertificateType.String(),
+ AuthenticationVersion: authenticationCertificate.ebicsCertificateType,
},
EncryptionPubKeyInfo: H005EncryptionPubKeyInfo{
X509Data: DSIGX509Data{
@@ -106,7 +107,7 @@ func GenerateHiaRequest(authenticationCertificate EbicsCertificate, encryptionCe
encryptionCertificate.x509Certificate, // TODO Proper Base64 Marshalling
),
},
- EncryptionVersion: encryptionCertificate.ebicsCertificateType.String(),
+ EncryptionVersion: encryptionCertificate.ebicsCertificateType,
},
PartnerID: "MV008078",
UserID: "SCHOLZ01",
diff --git a/xml.go b/xml.go
new file mode 100644
index 0000000..d528dde
--- /dev/null
+++ b/xml.go
@@ -0,0 +1,7 @@
+package libebics
+
+import "encoding/xml"
+
+func (t EbicsCertificateType) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ return e.EncodeElement(t.String(), start)
+}