我想咨询下java实现国密p7软验签,使用sm3withsm2,只需要验签,需要从签名值里解析出证书验签,可用的内容只有原文和签名值
原文:123456
签名值:MIIDJgYKKoEcz1UGAQQCAqCCAxYwggMSAgEBMQwwCgYIKoEcz1UBgxEwDAYKKoEcz1UGAQQCAaCCAkowggJGMIIB7KADAgECAgV6kZ2zajAKBggqgRzPVQGDdTAvMQswCQYDVQQGEwJjbjEMMAoGA1UECgwDYm9jMRIwEAYDVQQDDAlnbXN1YmNhMDEwHhcNMjIwMzMwMDMxNjIxWhcNMjQxMjI0MDMxNjIxWjB4MQswCQYDVQQGEwJDTjEWMBQGA1UECgwNQk9DIFNNMiBPQ0EzMTERMA8GA1UECwwIUEJQU1RFU1QxGTAXBgNVBAsMEE9yZ2FuaXphdGlvbmFsLTIxIzAhBgNVBAMMGjA0N0Bib2N0ZXN0c20yQFAyMDIyMDMyOUAxMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEaPWq1BLLJnsQbKfYVWIX3odW8QU8SlOdPIFgmj5eotqGuF39HLtKL2BnDte6zK0KStGHGDG+dysHCUEofkebd6OBqzCBqDAfBgNVHSMEGDAWgBTwazjBPiVRhWlDe9+pNmz3Fw5YfDAJBgNVHRMEAjAAMEsGA1UdHwREMEIwQKA+oDykOjA4MQ0wCwYDVQQDDARjcmwxMQwwCgYDVQQLDANjcmwxDDAKBgNVBAoMA2JvYzELMAkGA1UEBhMCY24wDgYDVR0PAQH/BAQDAgbAMB0GA1UdDgQWBBS7dSbEbSg7Q+Jrjuy0mhxyCSujMjAKBggqgRzPVQGDdQNIADBFAiEArbvuZl8jb84DIVFwo4QnE9V8LtSid1lzQ0uZUA13SO0CICHqOC/6lld6I6++uhfwHFXZCVsYhaoJSayfErDitg+ZMYGiMIGfAgEBMDgwLzELMAkGA1UEBhMCY24xDDAKBgNVBAoMA2JvYzESMBAGA1UEAwwJZ21zdWJjYTAxAgV6kZ2zajAKBggqgRzPVQGDETALBgkqgRzPVQGCLQEERzBFAiEAgWjzgPEcWhSoRtzXQjfDdMNgDcGhBR3695N+mzl5hfsCIG8UtHZpaI4o5TQVyEJxsPkwLcDPdC7oftupvZqX4/6v
国密p7验签,sm3withsm2
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- pzzhao 2023-03-22 20:37关注
我本地根据这个博客 https://blog.csdn.net/pridas/article/details/86118774 测试是ok的,但是你的这个代码应该是BASE64了,然后你的userId我也不知道是哪个。
测试代码import org.bouncycastle.util.encoders.Hex; import java.security.KeyPair; import java.security.PublicKey; public class SM2P7Verify { public static void main(String[] args) throws Exception { String s = "123456"; byte[] userId = "1234567812345678".getBytes(); KeyPair keyPair = GmUtil.generateKeyPair(); PublicKey aPublic = keyPair.getPublic(); byte[] bytes = GmUtil.signSm3WithSm2(s.getBytes(), userId, keyPair.getPrivate()); System.out.println(Hex.toHexString(bytes)); boolean b = GmUtil.verifySm3WithSm2( s.getBytes(), userId, bytes, aPublic); System.out.println(b); } }
测试结果
188dce4b8db74c8b2f940c759fc9ff747b11dc40d0d33be661e276b4567561d066fdf8697b4c4ee702ab44282751603779f370f0759ff388f6fb1003aafa6e2a true
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 WPF动态创建页面内容
- ¥15 如何对TBSS的结果进行统计学的分析已完成置换检验,如何在最终的TBSS输出结果提取除具体值及如何做进一步相关性分析
- ¥15 SQL数据库操作问题
- ¥100 关于lm339比较电路出现的问题
- ¥15 Matlab安装yalmip和cplex功能安装失败
- ¥15 加装宝马安卓中控改变开机画面
- ¥15 STK安装问题问问大家,这种情况应该怎么办
- ¥15 关于罗技鼠标宏lua文件的问题
- ¥15 halcon ocr mlp 识别问题
- ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线