C# GNUPG:删除公钥时抑制消息

C# GNUPG:删除公钥时抑制消息,c#,wrapper,gnupg,C#,Wrapper,Gnupg,我使用GNUPG工具通过命令行执行加密/解密。删除公钥时,我发出以下命令: gpg2--相当--是--删除键“Solveon DB” 命令执行后,我得到了问题 是否从钥匙圈中删除此钥匙?(是/否) 我不想被问到这个问题。你能建议使用哪个选项吗。我试着指定指纹,但我不知道它的用途。 1小时前-还剩4天回答。我创建了一个C#包装器类来使用该工具,但当使用delete选项时,它会挂起应用程序,等待问题的答案。 其他细节 命令链接: 我使用了从本网站下载的软件: 您的问题中有一个输入错误(它是--qu

我使用GNUPG工具通过命令行执行加密/解密。删除公钥时,我发出以下命令: gpg2--相当--是--删除键“Solveon DB”

命令执行后,我得到了问题 是否从钥匙圈中删除此钥匙?(是/否)

我不想被问到这个问题。你能建议使用哪个选项吗。我试着指定指纹,但我不知道它的用途。 1小时前-还剩4天回答。我创建了一个C#包装器类来使用该工具,但当使用delete选项时,它会挂起应用程序,等待问题的答案。 其他细节

命令链接: 我使用了从本网站下载的软件:


您的问题中有一个输入错误(它是
--quiet
,而不是
--quite
),但这不会让gpg2完全安静下来。在这种情况下,您需要的选项是
--batch

要在批处理模式下删除密钥,必须使用指纹指定它。您可以使用以下命令查找钥匙的指纹:

$ gpg2 --list-keys --fingerprint
/home/joeschmoe/.gnupg/pubring.gpg
----------------------------------
pub   2048R/3C6033BD 2012-02-15
      Key fingerprint = EA8B 7339 D8AB 608D D9B6  BFA2 797B 679C 3C60 33BD
uid                  Joe Schmoe <jschmoe@example.com>
sub   2048R/8C61295F 2012-02-15

您的问题中有一个输入错误(它是
--quiet
,而不是
--quity
),但这不会让gpg2完全安静下来。在这种情况下,您需要的选项是
--batch

要在批处理模式下删除密钥,必须使用指纹指定它。您可以使用以下命令查找钥匙的指纹:

$ gpg2 --list-keys --fingerprint
/home/joeschmoe/.gnupg/pubring.gpg
----------------------------------
pub   2048R/3C6033BD 2012-02-15
      Key fingerprint = EA8B 7339 D8AB 608D D9B6  BFA2 797B 679C 3C60 33BD
uid                  Joe Schmoe <jschmoe@example.com>
sub   2048R/8C61295F 2012-02-15
使用下列内容

gpg2 --batch --yes --delete-key "Solveon DB"
请注意,它仅在您要删除公钥时才起作用。

使用以下命令

gpg2 --batch --yes --delete-key "Solveon DB"

请注意,它仅在您想要删除公钥时才起作用。

这里有另一个解决方案,删除所有密钥,然后删除“user123”密钥,过期和未过期

第一个脚本是寻找指纹,并从它们的符号(z.B.,ADFG1HJH3JHG5HGTY6KJYY6KJHKK535JNNN)中生成一个实心数字字符串

gpg--列出密钥--指纹| grep fingerprint | cut-c25-74 | sed's///g'

其他代码很容易理解

#!/bin/bash

function myfunc()
{

local SKEY=$(gpg --list-keys --fingerprint | grep fingerprint | cut -c 25-74 | sed 's/ //g')

echo "$SKEY"

}

SKEY1=$(myfunc)

#echo $SKEY1

gpg --batch --fingerprint --yes --delete-secret-key $SKEY1 <<EOF 

$SKEY1 

EOF

#rm -rf ex.txt

gpg --batch --yes --delete-key "user123"
#/bin/bash
函数myfunc()
{
本地SKEY=$(gpg--列出密钥--指纹| grep fingerprint | cut-c 25-74 | sed's///g')
回声“$SKEY”
}
SKEY1=$(myfunc)
#echo$SKEY1

gpg--批处理--指纹--是--删除密钥$SKEY1这里有另一个解决方案,删除所有密钥,然后删除“user123”密钥,过期和未过期

第一个脚本是寻找指纹,并从它们的符号(z.B.,ADFG1HJH3JHG5HGTY6KJYY6KJHKK535JNNN)中生成一个实心数字字符串

gpg--列出密钥--指纹| grep fingerprint | cut-c25-74 | sed's///g'

其他代码很容易理解

#!/bin/bash

function myfunc()
{

local SKEY=$(gpg --list-keys --fingerprint | grep fingerprint | cut -c 25-74 | sed 's/ //g')

echo "$SKEY"

}

SKEY1=$(myfunc)

#echo $SKEY1

gpg --batch --fingerprint --yes --delete-secret-key $SKEY1 <<EOF 

$SKEY1 

EOF

#rm -rf ex.txt

gpg --batch --yes --delete-key "user123"
#/bin/bash
函数myfunc()
{
本地SKEY=$(gpg--列出密钥--指纹| grep fingerprint | cut-c 25-74 | sed's///g')
回声“$SKEY”
}
SKEY1=$(myfunc)
#echo$SKEY1

gpg--批处理--指纹--是的--删除密钥$SKEY1我自己对此感到困惑之后,发现可以使用CMD删除公钥和私钥。以下是我用于此操作的代码:

gpg --batch --yes --delete-key [keyID]
gpg --batch --yes --delete-secret-key [ClientKeyID]

其中文本+方括号替换为40位密钥指纹,行分别适用于公钥和私钥。我从powershell中调用了一个批处理文件来实现这一点,它工作得非常好。

在我自己对此感到困惑之后,我发现您可以使用CMD删除公钥和私钥。以下是我用于此操作的代码:

gpg --batch --yes --delete-key [keyID]
gpg --batch --yes --delete-secret-key [ClientKeyID]

其中文本+方括号替换为40位密钥指纹,行分别适用于公钥和私钥。我从powershell中调用一个批处理文件来实现这一点,它工作得非常完美。

不要注意字符串:rm-rf ex.txt它不应该在那里:)不要注意字符串:rm-rf ex.txt它不应该在那里:)