SDL Jetzt erst recht!

This commit is contained in:
2019-08-08 12:34:08 +02:00
parent f336f214e9
commit 5cbb13561f
1496 changed files with 522451 additions and 0 deletions

View File

@@ -0,0 +1,155 @@
Imports Registrierkasse.RKWrapper
Imports System.Security.Cryptography.X509Certificates
Imports System.Text
Imports Registrierkasse
Module Module1
Sub Main()
Dim rkw As New Registrierkasse.RKWrapper
Dim ret As Integer
Dim zdaId As String
Dim sigCertSerial As String
Dim sigCert As X509Certificate
Dim issuerCert As X509Certificate
ret = rkw.GetInfo(zdaId, sigCert, issuerCert)
If ret = 0 Then
sigCertSerial = sigCert.GetSerialNumberString()
Console.WriteLine("ZDA ID = " + zdaId)
Console.WriteLine("Sig Cert Serial = " + sigCertSerial)
Dim sigCertBytes As Byte()
sigCertBytes = sigCert.Export(X509ContentType.Cert)
Console.WriteLine("Sig Cert B64: " + Convert.ToBase64String(sigCertBytes))
Dim issCertBytes As Byte()
issCertBytes = issuerCert.Export(X509ContentType.Cert)
Console.WriteLine("Issuer Cert B64: " + Convert.ToBase64String(issCertBytes))
Else
Console.WriteLine("GetInfo failed with return code = 0x" + ret.ToString("X4"))
Console.WriteLine("Last error : " + rkw.LastError)
End If
Dim toBeSignedStr As String
Dim JWS_Protected_Header As String
Dim JWS_Payload As String
Dim tbsBytes As Byte()
Dim signature As Byte()
JWS_Protected_Header = Base64url("{""alg"":""ES256""}")
JWS_Payload = Base64url("_R1-AT1_DEMO-CASH-BOX426_776740_2015-10-14T18:20:23_53,45_6,61_0,00_47,65_3,33_NGGrKn6Kq3c=_8645153189157718879_bacPpqE/lw4=")
toBeSignedStr = String.Format("{0}.{1}", JWS_Protected_Header, JWS_Payload)
tbsBytes = System.Text.Encoding.UTF8.GetBytes(toBeSignedStr)
ret = rkw.Sign(tbsBytes, signature)
If ret = 0 Then
Dim sigB64 As String
sigB64 = Base64url(signature)
Console.WriteLine("Signature: " + sigB64)
Else
Console.WriteLine("Sign failed with return code = 0x" + ret.ToString("X4"))
Console.WriteLine("Last error : " + rkw.LastError)
End If
Registrierkasse.RKWrapper.UnloadCryptoLibrary()
Console.ReadLine()
End Sub
Function Base64url(ByVal input As String) As String
Return Base64url(System.Text.Encoding.UTF8.GetBytes(input))
End Function
Function Base64url(ByVal inputBytes As Byte()) As String
Dim result As New StringBuilder(Convert.ToBase64String(inputBytes).TrimEnd("="))
result.Replace("+", "-")
result.Replace("/", "_")
Return result.ToString()
End Function
End Module
Module Module2
Sub Test1()
Console.WriteLine("TEST1 - A-SIT Test Daten Entschlüsseln")
Dim kassenID As String
Dim belegnummer As String
kassenID = "DEMO-CASH-BOX426"
belegnummer = "776732"
Console.WriteLine("Kassen ID: " + kassenID)
Console.WriteLine("Belegnummer: " + belegnummer)
Dim aesB64 As String
aesB64 = "K7L9NyWiC1xKuyBO/7DuoRFqsqgq+m3t8hjOCMNXBio="
Dim aesBytes As Byte()
aesBytes = Convert.FromBase64String(aesB64)
Dim encB64 As String
encB64 = "4VjrD6b2vGo="
Dim encBytes As Byte()
encBytes = Convert.FromBase64String(encB64)
Dim umsatz As Long
umsatz = RKAesIcm.Decrypt(encBytes, kassenID, belegnummer, aesBytes)
Console.WriteLine("Entschlüsselter Umsatz : " + umsatz.ToString())
Console.WriteLine("")
End Sub
Sub Test2()
Console.WriteLine("TEST2 - Verschlüsseln/Entschlüsseln")
REM Generate new AES Key
Dim aesKey As Byte()
aesKey = RKAesIcm.GenerateKey()
Console.WriteLine("AES key (B64): " + Convert.ToBase64String(aesKey))
Dim kassenID As String
Dim belegnummer As String
kassenID = "Register3874"
belegnummer = "39920034"
Console.WriteLine("Kassen ID: " + kassenID)
Console.WriteLine("Belegnummer: " + belegnummer)
Dim umsatz As Long
umsatz = 2349.0
Console.WriteLine("Umsatz: " + umsatz.ToString())
Dim encryptedBytes As Byte()
encryptedBytes = RKAesIcm.Encrypt(umsatz, kassenID, belegnummer, aesKey)
Console.WriteLine("Verschlüsselter Umsatz (B64): " + Convert.ToBase64String(encryptedBytes))
Dim umsatz2 As Long
umsatz2 = RKAesIcm.Decrypt(encryptedBytes, kassenID, belegnummer, aesKey)
Console.WriteLine("Entschlüsselter Umsatz : " + umsatz2.ToString())
Console.WriteLine("")
End Sub
Sub Main()
REM TEST 1 - A-SIT Test Daten Entschlüsseln
Test1()
REM TEST2 - Verschlüsseln/Entschlüsseln
Test2()
Console.ReadLine()
End Sub
End Module

153
SDL/Registrierkasse/frmQRCode.Designer.vb generated Normal file
View File

@@ -0,0 +1,153 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmQRCode
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.pic = New System.Windows.Forms.PictureBox()
Me.btn = New System.Windows.Forms.Button()
Me.txt = New System.Windows.Forms.TextBox()
Me.Button1 = New System.Windows.Forms.Button()
Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.Button2 = New System.Windows.Forms.Button()
Me.TextBox2 = New System.Windows.Forms.TextBox()
Me.lblCode = New System.Windows.Forms.Label()
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
CType(Me.pic, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'pic
'
Me.pic.Location = New System.Drawing.Point(39, 12)
Me.pic.Name = "pic"
Me.pic.Size = New System.Drawing.Size(184, 162)
Me.pic.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.pic.TabIndex = 0
Me.pic.TabStop = False
'
'btn
'
Me.btn.Location = New System.Drawing.Point(39, 226)
Me.btn.Name = "btn"
Me.btn.Size = New System.Drawing.Size(75, 23)
Me.btn.TabIndex = 1
Me.btn.UseVisualStyleBackColor = True
'
'txt
'
Me.txt.Location = New System.Drawing.Point(387, 52)
Me.txt.Name = "txt"
Me.txt.Size = New System.Drawing.Size(525, 20)
Me.txt.TabIndex = 2
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(387, 115)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(93, 23)
Me.Button1.TabIndex = 1
Me.Button1.Text = "Verschlüsseln"
Me.Button1.UseVisualStyleBackColor = True
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(387, 78)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(525, 20)
Me.TextBox1.TabIndex = 2
'
'Button2
'
Me.Button2.Location = New System.Drawing.Point(486, 115)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(93, 23)
Me.Button2.TabIndex = 1
Me.Button2.Text = "Entschlüsseln"
Me.Button2.UseVisualStyleBackColor = True
'
'TextBox2
'
Me.TextBox2.Location = New System.Drawing.Point(387, 12)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(525, 20)
Me.TextBox2.TabIndex = 2
'
'lblCode
'
Me.lblCode.AutoSize = True
Me.lblCode.Location = New System.Drawing.Point(315, 18)
Me.lblCode.Name = "lblCode"
Me.lblCode.Size = New System.Drawing.Size(32, 13)
Me.lblCode.TabIndex = 3
Me.lblCode.Text = "Code"
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(315, 55)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(28, 13)
Me.Label1.TabIndex = 3
Me.Label1.Text = "Text"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(315, 81)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(66, 13)
Me.Label2.TabIndex = 3
Me.Label2.Text = "Verschl.Text"
'
'frmQRCode
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(965, 535)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.lblCode)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.txt)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.btn)
Me.Controls.Add(Me.pic)
Me.Name = "frmQRCode"
Me.Text = "frmQRCode"
CType(Me.pic, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents pic As System.Windows.Forms.PictureBox
Friend WithEvents btn As System.Windows.Forms.Button
Friend WithEvents txt As System.Windows.Forms.TextBox
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
Friend WithEvents lblCode As System.Windows.Forms.Label
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
End Class

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,88 @@
Imports ThoughtWorks.QRCode.Codec
Imports System.IO
Imports System.Security.Cryptography
Imports System.Text
Public Class frmQRCode
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
Dim img As Image
Dim bmp As Bitmap
Dim QR As New QRCodeEncoder
QR.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE
QR.QRCodeScale = 2
QR.QRCodeVersion = 5
QR.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L
img = QR.Encode("TEST DATA")
bmp = New Bitmap(img)
bmp.Save(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\test.bmp")
pic.ImageLocation = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\test.bmp"
End Sub
Dim Aes256Base64Encrypter As New Aes256Base64Encrypter
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
TextBox1.Text = Aes256Base64Encrypter.Encrypt(txt.Text, TextBox2.Text)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Try
txt.Text = Aes256Base64Encrypter.Decrypt(TextBox1.Text, TextBox2.Text)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
End Sub
End Class
Public Class Aes256Base64Encrypter
Public Function Encrypt(ByVal plainText As String, ByVal secretKey As String) As String
Dim encryptedPassword As String = Nothing
Using outputStream As MemoryStream = New MemoryStream()
Dim algorithm As RijndaelManaged = getAlgorithm(secretKey)
Using cryptoStream As CryptoStream = New CryptoStream(outputStream, algorithm.CreateEncryptor(), CryptoStreamMode.Write)
Dim inputBuffer() As Byte = Encoding.Unicode.GetBytes(plainText)
cryptoStream.Write(inputBuffer, 0, inputBuffer.Length)
cryptoStream.FlushFinalBlock()
encryptedPassword = Convert.ToBase64String(outputStream.ToArray())
End Using
End Using
Return encryptedPassword
End Function
Public Function Decrypt(ByVal encryptedBytes As String, ByVal secretKey As String) As String
Dim plainText As String = Nothing
Using inputStream As MemoryStream = New MemoryStream(Convert.FromBase64String(encryptedBytes))
Dim algorithm As RijndaelManaged = getAlgorithm(secretKey)
Using cryptoStream As CryptoStream = New CryptoStream(inputStream, algorithm.CreateDecryptor(), CryptoStreamMode.Read)
Dim outputBuffer(0 To CType(inputStream.Length - 1, Integer)) As Byte
Dim readBytes As Integer = cryptoStream.Read(outputBuffer, 0, CType(inputStream.Length, Integer))
plainText = Encoding.Unicode.GetString(outputBuffer, 0, readBytes)
End Using
End Using
Return plainText
End Function
Private Function getAlgorithm(ByVal secretKey As String) As RijndaelManaged
Const salt As String = "AES" '??
Const keySize As Integer = 256
Dim keyBuilder As Rfc2898DeriveBytes = New Rfc2898DeriveBytes(secretKey, Encoding.Unicode.GetBytes(salt))
Dim algorithm As RijndaelManaged = New RijndaelManaged()
algorithm.KeySize = keySize
algorithm.IV = keyBuilder.GetBytes(CType(algorithm.BlockSize / 8, Integer))
algorithm.Key = keyBuilder.GetBytes(CType(algorithm.KeySize / 8, Integer))
algorithm.Padding = PaddingMode.PKCS7
Return algorithm
End Function
End Class

View File

@@ -0,0 +1,76 @@
Imports Registrierkasse
Module modRegKasse
Sub Test1()
Console.WriteLine("TEST1 - A-SIT Test Daten Entschlüsseln")
Dim kassenID As String
Dim belegnummer As String
kassenID = "DEMO-CASH-BOX426"
belegnummer = "776732"
Console.WriteLine("Kassen ID: " + kassenID)
Console.WriteLine("Belegnummer: " + belegnummer)
Dim aesB64 As String
aesB64 = "K7L9NyWiC1xKuyBO/7DuoRFqsqgq+m3t8hjOCMNXBio="
Dim aesBytes As Byte()
aesBytes = Convert.FromBase64String(aesB64)
Dim encB64 As String
encB64 = "4VjrD6b2vGo="
Dim encBytes As Byte()
encBytes = Convert.FromBase64String(encB64)
Dim umsatz As Long
umsatz = RKAesIcm.Decrypt(encBytes, kassenID, belegnummer, aesBytes)
Console.WriteLine("Entschlüsselter Umsatz : " + umsatz.ToString())
Console.WriteLine("")
End Sub
Sub Test2()
Console.WriteLine("TEST2 - Verschlüsseln/Entschlüsseln")
REM Generate new AES Key
Dim aesKey As Byte()
aesKey = RKAesIcm.GenerateKey()
Console.WriteLine("AES key (B64): " + Convert.ToBase64String(aesKey))
Dim kassenID As String
Dim belegnummer As String
kassenID = "Register3874"
belegnummer = "39920034"
Console.WriteLine("Kassen ID: " + kassenID)
Console.WriteLine("Belegnummer: " + belegnummer)
Dim umsatz As Long
umsatz = 2349.0
Console.WriteLine("Umsatz: " + umsatz.ToString())
Dim encryptedBytes As Byte()
encryptedBytes = RKAesIcm.Encrypt(umsatz, kassenID, belegnummer, aesKey)
Console.WriteLine("Verschlüsselter Umsatz (B64): " + Convert.ToBase64String(encryptedBytes))
Dim umsatz2 As Long
umsatz2 = RKAesIcm.Decrypt(encryptedBytes, kassenID, belegnummer, aesKey)
Console.WriteLine("Entschlüsselter Umsatz : " + umsatz2.ToString())
Console.WriteLine("")
End Sub
Sub Main()
REM TEST 1 - A-SIT Test Daten Entschlüsseln
Test1()
REM TEST2 - Verschlüsseln/Entschlüsseln
Test2()
Console.ReadLine()
End Sub
End Module

View File

@@ -0,0 +1,77 @@

Imports Registrierkasse
Module modUmsatzzaehler
Sub Test1()
Console.WriteLine("TEST1 - A-SIT Test Daten Entschlüsseln")
Dim kassenID As String
Dim belegnummer As String
kassenID = "DEMO-CASH-BOX426"
belegnummer = "776732"
Console.WriteLine("Kassen ID: " + kassenID)
Console.WriteLine("Belegnummer: " + belegnummer)
Dim aesB64 As String
aesB64 = "K7L9NyWiC1xKuyBO/7DuoRFqsqgq+m3t8hjOCMNXBio="
Dim aesBytes As Byte()
aesBytes = Convert.FromBase64String(aesB64)
Dim encB64 As String
encB64 = "4VjrD6b2vGo="
Dim encBytes As Byte()
encBytes = Convert.FromBase64String(encB64)
Dim umsatz As Long
umsatz = RKAesIcm.Decrypt(encBytes, kassenID, belegnummer, aesBytes)
Console.WriteLine("Entschlüsselter Umsatz : " + umsatz.ToString())
Console.WriteLine("")
End Sub
Sub Test2()
Console.WriteLine("TEST2 - Verschlüsseln/Entschlüsseln")
REM Generate new AES Key
Dim aesKey As Byte()
aesKey = RKAesIcm.GenerateKey()
Console.WriteLine("AES key (B64): " + Convert.ToBase64String(aesKey))
Dim kassenID As String
Dim belegnummer As String
kassenID = "Register3874"
belegnummer = "39920034"
Console.WriteLine("Kassen ID: " + kassenID)
Console.WriteLine("Belegnummer: " + belegnummer)
Dim umsatz As Long
umsatz = 2349.0
Console.WriteLine("Umsatz: " + umsatz.ToString())
Dim encryptedBytes As Byte()
encryptedBytes = RKAesIcm.Encrypt(umsatz, kassenID, belegnummer, aesKey)
Console.WriteLine("Verschlüsselter Umsatz (B64): " + Convert.ToBase64String(encryptedBytes))
Dim umsatz2 As Long
umsatz2 = RKAesIcm.Decrypt(encryptedBytes, kassenID, belegnummer, aesKey)
Console.WriteLine("Entschlüsselter Umsatz : " + umsatz2.ToString())
Console.WriteLine("")
End Sub
Public Sub Main()
REM TEST 1 - A-SIT Test Daten Entschlüsseln
Test1()
REM TEST2 - Verschlüsseln/Entschlüsseln
Test2()
Console.ReadLine()
End Sub
End Module