Revert "commit"

This commit is contained in:
2024-10-02 08:59:41 +00:00
parent 298156bc8d
commit a39d888c67
2987 changed files with 174 additions and 13775 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

View File

@@ -1,13 +0,0 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.42000
'
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
' der Code erneut generiert wird.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On

View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>false</MySubMain>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<ApplicationType>1</ApplicationType>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

View File

@@ -1,35 +0,0 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' Allgemeine Informationen über eine Assembly werden über die folgenden
' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
' die mit einer Assembly verknüpft sind.
' Die Werte der Assemblyattribute überprüfen
<Assembly: AssemblyTitle("VERAGRegistrierkasse")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("VERAGRegistrierkasse")>
<Assembly: AssemblyCopyright("Copyright © 2016")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
<Assembly: Guid("dc93528e-1cf6-459f-b336-bdb766da950c")>
' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
'
' Hauptversion
' Nebenversion
' Buildnummer
' Revision
'
' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.1")>
<Assembly: AssemblyFileVersion("1.0.0.1")>

View File

@@ -1,63 +0,0 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.42000
'
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
' der Code erneut generiert wird.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
'-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
'''<summary>
''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("VERAGRegistrierkasse.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
End Module
End Namespace

View File

@@ -1,73 +0,0 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.42000
'
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
' der Code erneut generiert wird.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.11.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
#Region "Automatische My.Settings-Speicherfunktion"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.VERAGRegistrierkasse.My.MySettings
Get
Return Global.VERAGRegistrierkasse.My.MySettings.Default
End Get
End Property
End Module
End Namespace

View File

@@ -1,7 +0,0 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@@ -1,4 +0,0 @@
Namespace RKSVComComplete
Friend Class RKSVCOM
End Class
End Namespace

View File

@@ -1,132 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{392A58FC-79A6-4E1C-9033-180E86B523EB}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>VERAGRegistrierkasse</RootNamespace>
<AssemblyName>VERAGRegistrierkasse</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>Windows</MyType>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>VERAGRegistrierkasse.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<PlatformTarget>AnyCPU</PlatformTarget>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>VERAGRegistrierkasse.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<PropertyGroup>
<StartupObject>
</StartupObject>
</PropertyGroup>
<ItemGroup>
<Reference Include="ITGRKSVCom, Version=1.7.0.0, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\ITG Consulting\RKSVComComplete\ITGRKSVCom.dll</HintPath>
</Reference>
<Reference Include="jose-jwt">
<HintPath>C:\Users\DEVELOPER1\Desktop\RK_ITG_TEST\RK_ITG_TEST2\c#\Tester\bin\Debug\jose-jwt.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files\Microsoft SDKs\Azure\.NET SDK\v2.9\bin\plugins\Diagnostics\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Diagnostics" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="cVERAGRegistrierkasse.vb" />
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -1,17 +0,0 @@
Imports RKSVComComplete.RKSVCOM
Public Class cVERAGRegistrierkasse
Sub Main()
test()
Dim com As New RKSVComComplete.RKSVCOM
'com.SignReceipt()
Dim S As String = ""
com.GetMachineCode(S)
MsgBox(S)
End Sub
Public Sub test()
MsgBox("TEST")
End Sub
End Class

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

@@ -46,7 +46,7 @@
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
@@ -60,6 +60,7 @@
: 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">
@@ -68,9 +69,10 @@
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<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">
@@ -85,9 +87,10 @@
<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" msdata:Ordinal="1" />
<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">
@@ -109,9 +112,9 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<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