在vb.net解决方案资源管理器中设置Kleopatra

时间:2018-07-30 17:52:16

标签: vb.net azure-devops

我已在PC上加载了Kleopatra,并为我的keypairID创建了一个密钥/对,并创建了一个VB.net脚本,该脚本在指定的目录中创建了一个加密文件–创建TestText.txt.gpg都非常有用文件。

对于VSTS的整个世界,我还是个新手,所以我不确定应该从解决方案资源管理器中包括什么,以便现在通过生产服务器(而不是我的PC)运行它。应该包含Keopatra的哪些元素(.exe或.dll等),以及应该使用哪个选项(例如,在“ Solution Explorer> Add”菜单下)添加它们,以便生产作业可以找到密钥对并执行gpg.exe ?

当我在PC上安装Kleopatra时,它创建了两个文件夹C:\ Program Files(x86)\ Gpg4win(包含kleopatra.exe)和C:\ Program Files(x86)\ GnuPG(包含gpg.exe)。

请不要建议使用供应商坚持使用Kleopatra加密的其他方式。

这里有一个您可以分享的教程或youtube,可以解释如何设置这种情况以使用很棒的第三方可执行文件!谢谢!

Sub Main()

    Dim sourceName As String = "TestText.txt"
    Dim toencryptedFileName As String = ("C:\Folder1\Folder2\" & sourceName)
    Dim p As New ProcessStartInfo

    'Location of the binary on my PC
    p.FileName = "C:\Program Files (x86)\GnuPG\bin\gpg.exe"     
    p.Arguments = "--batch --yes --recipient keypairID --encrypt " & toencryptedFileName
    p.WindowStyle = ProcessWindowStyle.Hidden

    Process.Start(p)

End Sub

1 个答案:

答案 0 :(得分:0)

在我的PC上,可以很好地创建文件:filename.csv.gpg 注意:您需要下载并安装Kleopatra,然后可以将其他收件人为“收件人名”提供的公钥导入Kleopatra。这里有相关说明:https://www.deepdotweb.com/2015/02/21/pgp-tutorial-for-windows-kleopatra-gpg4win/

095:    Dim Extract_File As String  = C:\Extracts\ProgramName\filename.csv”
‘This line calls the function:
096:    FileEncrypted = Encrypt_File(Extract_File, Batch_Timestamp)

   Private Function Encrypt_File(File_To_Encrypt As String, Batch_Timestamp As Date)
100:    On Error GoTo Encrypt_File_Error
110:    Dim Success As Boolean = False
120:    Dim sourceName As String = File_To_Encrypt
130:    Dim gpgProcess = New Process()
140:    gpgProcess.StartInfo.FileName = "gpg.exe"
150:    gpgProcess.StartInfo.UseShellExecute = False
160:    gpgProcess.StartInfo.CreateNoWindow = True
170:    gpgProcess.StartInfo.Arguments = "--batch --yes --recipient reciptname --encrypt " & sourceName
180:    gpgProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
190:    gpgProcess.Start()
200:    Success = True
Encrypt_File_Exit:
210:    On Error Resume Next
220:    gpgProcess.WaitForExit()
230:    gpgProcess.Close()
240:    Return Success
250:    Exit Function
Encrypt_File_Error:
260:    Error_Handler("SomeModule.vb", "Encrypt_File", Err, System_Output, Batch_Timestamp)
270:    Resume Encrypt_File_Exit
    End Function