便宜 虛擬主機sem 優(yōu)化軟件
目前發(fā)現(xiàn) sm2 有很多實現(xiàn),比如 gmssl, openssl 1.1.1 ,openssl 3.0,各種代碼庫實現(xiàn)等等。實踐中發(fā)現(xiàn)這些實現(xiàn)會出現(xiàn)不能互相驗簽的情況。后續(xù)研究一下。
網上的一些資料,給出了一些 openssl 指令,但是沒有標明 openssl 的版本,由于 openssl1.1.1 版本和 openssl 3 版本支持的參數(shù)有區(qū)別,會導致到具體環(huán)境可能執(zhí)行出錯的情況[^1]。
openssl 3.0.2 sm2 簽名驗簽
#Ubuntu 22.04.1 LTS
#version
#openssl version
#OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
#生成秘鑰
openssl ecparam -genkey -name SM2 -out pri.key
openssl ec -in pri.key -pubout -out pub.key
echo -n "1234" > data
#pkeyutl
openssl pkeyutl -sign -in data -inkey pri.key -out pkeysig -rawin -digest sm3
openssl pkeyutl -verify -pubin -in data -inkey pub.key -sigfile pkeysig -rawin -digest sm3
#dgst 這個 -sm3 好像不用加,默認就是sm3
openssl dgst -sm3 -sign pri.key -out dgstsig data
openssl dgst -sm3 -verify pub.key -signature dgstsig data
[^1] macos 上的openssl version 顯示為 libressl ,還不支持sm2