Frage

Ich brauche Code zu schreiben, die PGP-verschlüsselte Dateien von einem FTP-Speicherort aufnimmt und verarbeitet sie. Die Dateien werden mit meinen öffentlichen Schlüssel verschlüsselt werden (nicht, dass ich ein noch haben). Natürlich, ich brauche eine PGP-Bibliothek, die ich in Microsoft Access verwenden kann. Können Sie ein empfehlen, die einfach zu bedienen ist?

Ich bin auf der Suche nach etwas, das nicht eine riesige Menge von PKI-Kenntnisse erfordert. Idealerweise etwas, das das einmalige private / öffentliches Schlüsselpaar leicht erzeugen, und dann für die Entschlüsselung eine einfache Routine hat.

War es hilfreich?

Lösung

Eine Befehlszeile Lösung ist gut. Wenn Ihre Datenbank eine interne Anwendung ist, nicht neu verteilt werden, kann ich Gnu Privacy Guard empfehlen. Diese Befehlszeile basiertes Tool ermöglicht es Ihnen, alles zu tun, dass Sie in Bezug auf den OpenPGP-Standard müssen.

In Access können Sie die Shell () Befehl in einem Makro wie folgt verwenden:

Public Sub DecryptFile(ByVal FileName As String)
  Dim strCommand As String
  strCommand = "C:\Program Files\GNU\GnuPG\gpg.exe " _
  & "--batch --passphrase ""My PassPhrase that I used""" & FileName
  Shell strCommand, vbNormalFocus
End Sub

Dies wird das Kommandozeilen-Tool ausführen, um die Datei zu entschlüsseln. Diese Syntax verwendet eine Klartext Version Ihres geheimen Passwort. Dies ist nicht die sicherste Lösung, aber es ist akzeptabel, wenn Ihre Datenbank ist intern und nur durch vertrauenswürdiges Personal eingesetzt. GnuPG andere Techniken unterstützt das Passwort zu sichern.

Andere Tipps

PGP hat eine Kommandozeilenoption Dateien zum Entschlüsseln.

Wir haben eine Batch-Datei, die die Entschlüsselung der Fall ist, in dem Dateinamen vorbei entschlüsselt werden:

Batch-Datei:

"C:\Program Files\Network Associates\PGPNT\pgp" +FORCE %1 -z *password* 

Wir als nennt das von einem VBS:

  Command = "decrypt.bat """ & FolderName & FileName & """"

  'Executes the command script.
  Set objShell = WScript.CreateObject ("WSCript.shell")
  Command = "cmd /c " & Command
  objShell.run Command, 1, True

Hoffnung, die Sie in einer nützlichen Richtung zeigt.

Sie können mit OpenPGPBlackbox (ActiveX Edition) für diese

Stu ... Ich hatte einmal einen „Sichere SMTP“ Server in Java zu schreiben ... Die einfachste und schnellste Weg, dies zu tun, ist zum Download und / oder Kauf von PGP. Sie haben ein SDK, das Sie für den Zugriff auf alles verwenden können, die Sie wollen.

ich habe gehen und sehen, ob ich einen COM-Wrapper zu schreiben hatte, oder wenn sie bereits einen hatten. (Ich schrieb diesen SMTP-Server vor etwa 10 Jahren). Wie auch immer, nicht bekommen, entmutigt. Vor etwa 5 Jahren schrieb ich eine ganze PGP-basierte Anwendung (basierend auf dem openPGP RFC) in C ++, aber der Haken war, war ich nicht alle vorhandenen Bibliotheken nutzen. Also musste ich alles schreiben, die mich stopfen. Und, habe ich GPG, OpenPGP und PGP für die Prüfung, etc ....

So kann ich auch Hilfe für Sie gibt, wie das Zeug in VBA zu entschlüsseln. Es ist nicht unmöglich, (es wie die Hölle langsam sein kann, aber nicht unmöglich), und ich bin nicht zu „berappen und cmdline Sachen laufen Arbeit wie dies für Sie zu tun, wie es Ihnen bis zu einige ernsthafte Sicherheitsrisiken öffnen , wie hurcane Vorschlag (zum Beispiel) wird Ihr Passwort zu Tools wie procexp) angezeigt werden. Der erste Schritt ist zu lernen, wie PKE funktioniert, usw. Dann werden die Schritte, die Sie tun müssen, um zu bekommen, was Sie wollen.

Das ist etwas, was ich mit helfen würde interessieren, da ich bin immer ein Code zu schreiben, dass jeder sagt, kann nicht getan werden. :) Außerdem besitze ich den Quellcode der App Ich schrieb, wegen der Fusionen, Schließungen, etc ...

Es wurde ursprünglich für die Öl- und Gasindustrie geschrieben, so dass ich weiß, es ist sicher. Das ist nicht zu sagen, ich habe nicht ANY Sicherheitslücken im Code, aber ich denke, es ist stabil. Ich weiß, ich habe ein Problem mit meinem chinesischen Rest Threory Code .. Aus irgendeinem Grunde, wenn ich, dass Short-Cut, ich richtig die Daten nicht entschlüsseln kann, aber wenn ich den RSA „langen Weg“ verwende es funktioniert ...

Nun war diese Anwendung nie völlig fertig, so dass ich nicht unterstützen Dinge wie DSA Key-Paare, aber ich RSA-Schlüsselpaare unterstützen, mit SHA1, MD5, IDEA, AES, (I THINK mein 3DES-Code funktioniert nicht richtig, aber ich festgelegt haben, dass da). Ich habe nicht umsetzen Kompression noch, etc ... Aber, würde ich einen Grund gerne wieder hin und wieder auf diesem Code zu arbeiten.

I / könnte / machen Sie ein COM-Objekt, das Sie von VBA vorbei an den ursprünglichen Base64 Daten in, zusammen mit den Base64 Schlüsseldaten (oder einen Zeiger auf eine Schlüsseldatei auf der Festplatte) nennen könnte, und eine passpsshrase Dateien zu dekodieren ....

Denken Sie darüber nach ... Lassen Sie mich wissen ..

Im Laufe der Jahre habe ich für Dinge zu tun, wie MD5, SHA1, IDEA und andere Verschlüsselungsroutinen VBScript-Code gesammelt, aber ich habe sie nicht schreiben. Hölle, könnte man wahrscheinlich nur eine Schnittstelle mit Microsoft Crypto-API, und jede Aktion brechen, um es Kernteile sind und es nach wie vor an der Arbeit. (Sie werden keine Micosoft CryptoAPI Aufruf wie „DecryptPGP ()“ finden ... Es wäre alles in Stücke zu tun haben).

Lemme wissen, ob ich helfen kann.

Ich würde nach einer Befehlszeile Verschlüssler / Entschlüssler und rufen Sie einfach die EXE aus Ihrer Access-Anwendung, mit den richtigen Parametern.

Es gibt keine PGP Verschlüssler / Entschlüssler in VBA, die ich kenne.

Ich bin nicht vertraut mit VBA für Access, aber ich denke, dass die beste Lösung (vielleicht am einfachsten) externen Befehlszeilen PGP-Dienstprogramm ausführen würde.

Es ist eine DLL, die Sie direkt von Ihrer VBA-Anwendung aufrufen können, ohne dass ein externes Programm zu überspannen: Cryptocx . PGP hat auch eine DLL, die Sie anrufen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top