草庐IT

windows - 批量使用密码的最佳做法是什么?

我在Windows2003服务器上,我需要编写一个批处理文件以使用GnuPG自动解密。解密命令需要密码才能使用私钥。以下是一些不完全令我满意的可行选项:echothisIsMyPassphrase|gpg.exe--passphrase-fd0--output%1--decrypt%2这样的硬编码密码短语看起来不像是安全的方法!此外,更改也不方便(因为直接嵌入在.cmd文件中)。将密码存储在不同的文件中,并确保只有运行解密过程的Windows用户才能访问它(使用NTFS安全设置)。gpg.exe--passphrase-fileX:\passphrase.txt--output%1--

windows - gpgsm -a --export-secret-key-p12 [keyid] 在windows下显示错误信息 "No secret key"

已安装gpg4win2.2版。我已经使用gpgsm--gen-key>test.p10成功创建了证书我想使用gpgsm--export-secret-key-p12将创建的证书请求导出为pkcs12格式,但是在导出到p12时我收到错误消息“NoSecretkey”当我在命令提示符下运行gpgsm--list-secret-keys时,它确实什么都不显示。为什么导出步骤会失败?以及生成证书时key在哪里? 最佳答案 IhaveSuccessfullycreatedthecertificateusinggpgsm--gen-key>te

c# - 出于相同目的使用现有 .NET 程序集与命令行工具的优缺点

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我在网上搜索过,似乎找不到与此主题相关的任何内容。我认为应该对此进行一些讨论。我只是找不到它。基本上,我正在寻找的是使用现有.NET程序集来执行(较旧的)命令行可执行文件可以执行的相同操作的充分理由。因此,如果我使用程序集,我会包含它并开始在我的C#代码中使用它。对于我们旧的命令行工具,我会执行Process.Start(...)等等。背景是:我需要对传

php - 如何使 PHP shell_exec 可以访问 GPG key

我正在编写一个需要通过命令行(使用shell_exec())运行perl脚本的脚本。为了设置脚本,我需要在我这边生成一个GPGkey,并将他们的公钥导入我的GPGkey环。当我以ROOT用户身份运行时,perl脚本工作正常,但是当通过PHP运行时,它会抛出此错误消息:“尝试签署请求时发生错误”我认为这意味着我在我的根用户中设置的GPGkey无法访问PHP在(即apache)下运行其shell命令的用户。我应该如何解决这个问题?我不知道我是否需要以apache身份登录并导入key,或者是否有一个命令以root身份运行以允许将它们共享给apache用户...任何想法都很好:)

PHP gnupg 'import failed'

我一直在尝试在PHP中使用gnupg来加密将上传到ftp文件夹的文件。我目前在使用MAMP的Mac上运行,我相信gnupg已正确安装。我有一个来自文件接收者的公钥,当我尝试以字符串文字或文本文件的形式导入key时,我从gnupg收到了神秘的“导入失败”消息。$gpg=newgnupg();$gpg->seterrormode(gnupg::ERROR_EXCEPTION);$gpg->import($key);//throwsexception'importfailed'对于key导入失败的原因,是否有更好的资源?使用GPGSuite,我可以成功导入key,所以我相信key是正确的

PHP gnupg enrypt 有效但不能解密

我即将使用gnupg来加密和解密文件。奇怪的是,加密工作正常,但解密总是返回false。这里是一个简单的加密和解密内容的php脚本:$content='testtext';putenv("GNUPGHOME=/PATH_TO_GPG_PATH");$gpg=newgnupg();$gpg->addencryptkey("FINGERPRINT");$enc=$gpg->encrypt($content);var_dump($enc);$gpgD=newgnupg();$gpgD->adddecryptkey("FINGERPRINT","PASSPHRASE");$plain=$gpg

php - PGP 加密 - PHP openssl

我在本地“key.key”文件中有这个RSA2048key:-----BEGINPGPPUBLICKEYBLOCK-----Version:GnuPGv1.4.11(GNU/Linux).........-----ENDPGPPUBLICKEYBLOCK-----我如何在PHP中使用它来加密要发送的字符串?我在共享主机环境中,无法安装GNUpg,因此我认为包含的OpenSSL功能是可行的方法。我试过了,但我得到“...key参数不是有效的公钥...” 最佳答案 OpenSSL不支持OpenPGP,格式和协议(protocol)不同。

php - 使用我的公钥加密 php 联系表

如果有人知道我可以放在我的(html)网站上的联系表格的一些php脚本/代码,我很感兴趣,访问者可以向我发送消息(甚至可能是附件),这些消息将自动用我的公钥加密并保存在txt文件中的服务器?我不需要发送到我的电子邮件,只是保存在txt文件中,当它被加密保存时,我可以用我的私有(private)gpgkey复制和解密它。我发现了类似的东西,但它不适合我,因为它会自动解密服务器中的消息,这意味着我必须在配置文件中为私钥写入密码,这很糟糕,因为服务器管理员可以为我读取消息:https://privacybox.de/index.en.html(有源代码:https://privacybox.

php - 有没有办法将 php 对象保存在内存中以避免磁盘读取和写入?

所以我有一个从磁盘gnugpg读取文件的对象,它似乎总是在主目录中创建一个gnugpgkey环。我想避免每次从apache调用php脚本时都必须加载此对象。有没有办法让php对象留在内存中? 最佳答案 如果它是一个不占用太多内存且可序列化的小对象,您可以将其存储在session中:functiongetSessionObject($objectName,$params){$sessionObjectSerialized=getSessionVariable($objectName,FALSE);if($sessionObjectSe

java - 在 CI 环境中,在哪里保存 Maven 项目的 GPG key ?

我正在尝试使用maven-gpg-plugin:sign为了在部署到SonatypeOSS存储库之前签署项目Artifact。问题是我应该在哪里保存我的keysecring.gpg:在持续集成~/.gnupg目录下在项目源代码中,例如src/test/resources/gpg/secring.gpg为什么? 最佳答案 如果key是敏感的,将它放在CI服务器上的~/.gnupg目录中,并使用适当的访问修饰符保护该目录。第二种方法将允许每个有权访问项目的开发人员查看key。 关于java-