Revert "commit"
This commit is contained in:
155
SDL/Registrierkasse/Module1.vb
Normal file
155
SDL/Registrierkasse/Module1.vb
Normal 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
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
@@ -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")>
|
||||
63
SDL/Registrierkasse/My Project/Resources.Designer.vb
generated
63
SDL/Registrierkasse/My Project/Resources.Designer.vb
generated
@@ -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
|
||||
73
SDL/Registrierkasse/My Project/Settings.Designer.vb
generated
73
SDL/Registrierkasse/My Project/Settings.Designer.vb
generated
@@ -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
|
||||
@@ -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>
|
||||
@@ -1,4 +0,0 @@
|
||||
Namespace RKSVComComplete
|
||||
Friend Class RKSVCOM
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -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>
|
||||
@@ -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
153
SDL/Registrierkasse/frmQRCode.Designer.vb
generated
Normal 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
|
||||
@@ -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>
|
||||
88
SDL/Registrierkasse/frmQRCode.vb
Normal file
88
SDL/Registrierkasse/frmQRCode.vb
Normal 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
|
||||
76
SDL/Registrierkasse/modRegKasse.vb
Normal file
76
SDL/Registrierkasse/modRegKasse.vb
Normal 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
|
||||
77
SDL/Registrierkasse/modUmsatzzaehler.vb
Normal file
77
SDL/Registrierkasse/modUmsatzzaehler.vb
Normal 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
|
||||
Reference in New Issue
Block a user