Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 使用gpg2无人值守地生成ECDSA密钥_Bash_Cryptography_Gnupg_Elliptic Curve_Ecdsa - Fatal编程技术网

Bash 使用gpg2无人值守地生成ECDSA密钥

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-

简短问题

如何在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-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