Bash 使用gpg2无人值守地生成ECDSA密钥
简短问题 如何在gpg2 v2.1.11参数文件中指定椭圆曲线 长问题 我已成功使用以下bash脚本使用gpg2 v2.1.11生成RSA密钥:Bash 使用gpg2无人值守地生成ECDSA密钥,bash,cryptography,gnupg,elliptic-curve,ecdsa,Bash,Cryptography,Gnupg,Elliptic Curve,Ecdsa,简短问题 如何在gpg2 v2.1.11参数文件中指定椭圆曲线 长问题 我已成功使用以下bash脚本使用gpg2 v2.1.11生成RSA密钥: #!/bin/bash PUBRING_FILE=$(mktemp /tmp/pub.XXXXXX) CONFIG_FILE=$(mktemp /tmp/config.XXXXXX) cat >$CONFIG_FILE <<EOF Key-Type: DSA Key-Length: 1024 Subkey-
#!/bin/bash
PUBRING_FILE=$(mktemp /tmp/pub.XXXXXX)
CONFIG_FILE=$(mktemp /tmp/config.XXXXXX)
cat >$CONFIG_FILE <<EOF
Key-Type: DSA
Key-Length: 1024
Subkey-Type: RSA
Subkey-Length: 2048
Name-Real: Name
Name-Comment: Comment
Name-Email: Email
Expire-Date: 0
Passphrase: abc
%pubring $PUBRING_FILE
EOF
gpg2 --quiet --batch --expert --full-gen-key $CONFIG_FILE
与
我得到以下错误
gpg:密钥生成失败:未知椭圆曲线
我的配置文件显然忽略了曲线,但如何将其包括在内?即,如何在gpg2 v2.1.11参数文件中指定椭圆曲线?
gpg2
不知道要使用哪个EC曲线。要解决此问题,需要使用关键曲线
选项。在您的示例中,您应该删除子键长度:2048
行,并添加一个新的子键曲线:[……]
选项
使用NIST p-256曲线的示例:
cat >$CONFIG_FILE <<EOF
Key-Type: DSA
Key-Length: 1024
Subkey-Type: ECDSA
Subkey-Curve: nistp256
Name-Real: Name
Name-Comment: Comment
Name-Email: Email
Expire-Date: 0
Passphrase: abc
%pubring $PUBRING_FILE
EOF
cat>$CONFIG\u文件请提供您正在使用的GnuPG的完整版本。抱歉,它是隐式的。我使用的是v2.1.11。
Subkey-Type: ECDSA
Subkey-Length: 256
cat >$CONFIG_FILE <<EOF
Key-Type: DSA
Key-Length: 1024
Subkey-Type: ECDSA
Subkey-Curve: nistp256
Name-Real: Name
Name-Comment: Comment
Name-Email: Email
Expire-Date: 0
Passphrase: abc
%pubring $PUBRING_FILE
EOF