Hallo,
vielen Dank für die ausfürliche Antwort.
Mit Visual Studio habe ich bereits gearbeitet und schon einige VSTO Addins für Office erstellt. Das Problem daran ist jedoch das alle Erweiterungen separat installiert werden müssen. Auch Erweiterungen über eine .Net-Dll wären möglich, haben aber ebenfalls das Problem das diese auf jedem Rechner separat Registriert werden müssen um darauf zuzugreifen.
Ich benötige in meinem Fall jedoch eine portable Lösung die ohne Installationen etc. auskommt.
Es wundert mich aber weshalb die Methoden .Encrypt(..) und .Decrypt(...) aus der Klasse RSACryptoServiceProvider in VBA funktionieren, die .SignData(...) und .SignHash(...) jedoch nicht. Hängt dies evtl. mit den nur Teilweise vorhandenen COM-Schnittstellen zusammmen?
Das nachfolgende Makro für eine Ver- Entschlüsselung läuft Fehlerfrei.
Sub TestRSAEncDec()
' Erzeuge Teststring für Verschlüsselung
Dim dataString As String
dataString = "Data"
' Strings -> Byte
Dim dataByte() As Byte
dataByte = StrConv(dataString, vbFromUnicode)
'New RSACryptoServiceProvider instance
Set csp = CreateObject("System.Security.Cryptography.RSACryptoServiceProvider")
'RSA-Encrypt
Dim encryptedData() As Byte
encryptedData = csp.Encrypt(dataByte, False)
'RSA-Decrypt
Dim decryptedData() As Byte
decryptedData = csp.Decrypt(encryptedData, False)
'Ausgabe
MsgBox (StrConv(encryptedData, vbUnicode))
MsgBox (StrConv(decryptedData, vbUnicode))
End Sub
Viele Grüße !!
|