使用prime256v1私钥进行加密/解密的openssl命令?

使用prime256v1私钥进行加密/解密的openssl命令?,openssl,prime256v1,Openssl,Prime256v1,我想用EC私钥加密一条简单的消息,特别是通过CMD加密prime256v1;并使用相应的EC公钥进行解密 我只在非对称加密或使用ec公钥加密的情况下找到了对RSA的引用,但我需要使用ECDSA算法并使用私钥加密。生成自签名的p-256证书和相关私钥,如下所示: openssl ecparam -name prime256v1 -out p256-params.pem openssl req -x509 -nodes -days 3650 -newkey ec:p256-params.pem

我想用EC私钥加密一条简单的消息,特别是通过CMD加密prime256v1;并使用相应的EC公钥进行解密


我只在非对称加密或使用ec公钥加密的情况下找到了对RSA的引用,但我需要使用ECDSA算法并使用私钥加密。

生成自签名的p-256证书和相关私钥,如下所示:

openssl ecparam -name prime256v1 -out p256-params.pem

openssl req -x509 -nodes -days 3650 -newkey  ec:p256-params.pem -keyout p256-key.pem -out p256-cert.pem
openssl cms -encrypt -binary -aes-256-cbc -in plaintext.dat -out ciphertext.dat p256-cert.pem
openssl cms -decrypt -in ciphertext.dat -out plaintext2.dat -inkey p256-key.pem
openssl cms -sign -binary -in plaintext.dat -out signedtext.dat -inkey p256-key.pem -signer p256-cert.pem -nodetach
openssl cms -verify -in signedtext.dat -out plaintext2.dat -CAfile p256-cert.pem
像这样加密文件:

openssl ecparam -name prime256v1 -out p256-params.pem

openssl req -x509 -nodes -days 3650 -newkey  ec:p256-params.pem -keyout p256-key.pem -out p256-cert.pem
openssl cms -encrypt -binary -aes-256-cbc -in plaintext.dat -out ciphertext.dat p256-cert.pem
openssl cms -decrypt -in ciphertext.dat -out plaintext2.dat -inkey p256-key.pem
openssl cms -sign -binary -in plaintext.dat -out signedtext.dat -inkey p256-key.pem -signer p256-cert.pem -nodetach
openssl cms -verify -in signedtext.dat -out plaintext2.dat -CAfile p256-cert.pem
解密如下所示的文件:

openssl ecparam -name prime256v1 -out p256-params.pem

openssl req -x509 -nodes -days 3650 -newkey  ec:p256-params.pem -keyout p256-key.pem -out p256-cert.pem
openssl cms -encrypt -binary -aes-256-cbc -in plaintext.dat -out ciphertext.dat p256-cert.pem
openssl cms -decrypt -in ciphertext.dat -out plaintext2.dat -inkey p256-key.pem
openssl cms -sign -binary -in plaintext.dat -out signedtext.dat -inkey p256-key.pem -signer p256-cert.pem -nodetach
openssl cms -verify -in signedtext.dat -out plaintext2.dat -CAfile p256-cert.pem
签署如下文件:

openssl ecparam -name prime256v1 -out p256-params.pem

openssl req -x509 -nodes -days 3650 -newkey  ec:p256-params.pem -keyout p256-key.pem -out p256-cert.pem
openssl cms -encrypt -binary -aes-256-cbc -in plaintext.dat -out ciphertext.dat p256-cert.pem
openssl cms -decrypt -in ciphertext.dat -out plaintext2.dat -inkey p256-key.pem
openssl cms -sign -binary -in plaintext.dat -out signedtext.dat -inkey p256-key.pem -signer p256-cert.pem -nodetach
openssl cms -verify -in signedtext.dat -out plaintext2.dat -CAfile p256-cert.pem
验证签名文件,如下所示:

openssl ecparam -name prime256v1 -out p256-params.pem

openssl req -x509 -nodes -days 3650 -newkey  ec:p256-params.pem -keyout p256-key.pem -out p256-cert.pem
openssl cms -encrypt -binary -aes-256-cbc -in plaintext.dat -out ciphertext.dat p256-cert.pem
openssl cms -decrypt -in ciphertext.dat -out plaintext2.dat -inkey p256-key.pem
openssl cms -sign -binary -in plaintext.dat -out signedtext.dat -inkey p256-key.pem -signer p256-cert.pem -nodetach
openssl cms -verify -in signedtext.dat -out plaintext2.dat -CAfile p256-cert.pem

非常感谢你!但是,当您使用证书进行加密时,您是在使用公钥进行加密,对吗?我需要用私钥加密,作为一个标志。因此,所有拥有我的公钥的设备都可以解密消息。我在RSA算法中找到了这个:
echo“Hola mundo”>message.txt
openssl rsautl-inkey key.pem-in message.txt-sign>message.enc
openssl rsautl-inkey pub-key.pem-pubin-in message.enc-out message.dec
我在寻找ECDSA算法。我添加了关于签名/验证的信息。请注意,RSA和ECDSA是完全不同的。使用RSA,您可以使用私钥“加密”数据…私钥通常用于签名。通常,明文与签名一起传输(实际签名的是明文的散列)。ECDSA不加密,它只进行签名——同样,明文和签名一起传输。与RSA不同,您不能接受ECDSA签名并以某种方式使用公钥“解密”它以恢复已签名的原始数据。基本上,您不希望ECDSA签名消息具有任何机密性属性。您只能获得身份验证。