Closed hl-lab closed 1 year ago
你这个公钥是 hex asn1过的公钥,就是不知道是哪一种类型, do_encrypt目前只支持 hex的明文公钥,128或是130都可以,就前面差个04, 使用本函数,请将你的公钥 asn1 decode下,将公钥解出来, 可使用 util 下 myasn1 单独decode下,取出公钥, 只要decode一次就行,然后记下来,或是你熟悉的第三方的asn1 函数解开就可
你这个公钥是 hex asn1过的公钥,就是不知道是哪一种类型, do_encrypt目前只支持 hex的明文公钥,128或是130都可以,就前面差个04, 使用本函数,请将你的公钥 asn1 decode下,将公钥解出来, 可使用 util 下 myasn1 单独decode下,取出公钥, 只要decode一次就行,然后记下来,或是你熟悉的第三方的asn1 函数解开就可
问题顺利解决!非常感谢
https://github.com/tjfoc/gmsm/blob/master/sm2/sm2_test.go 使用 go 的public key,报错: Fatal error: Uncaught Exception: publickey format error in /home/webroot/sm2/vendor/lpilp/guomi/src/sm/RtSm2.php:364 Stack trace: #0 /home/webroot/sm2/vendor/lpilp/guomi/src/sm/RtSm2.php(121): Rtgm\sm\RtSm2->_getKeyXY('3059301306072a8...')
1 /home/webroot/sm2/test.php(30): Rtgm\sm\RtSm2->doEncrypt('{"installrate...', '3059301306072a8...')
2 {main} thrown in /home/webroot/sm2/vendor/lpilp/guomi/src/sm/RtSm2.php on line 364
公钥必须是 130 位吗?