Tencent / TencentKonaSMSuite

Tencent Kona SM Suite contains a set of Java security providers, which support algorithms SM2, SM3 and SM4, and protocols TLCP/GMSSL, TLS 1.3 (with RFC 8998) and TLS 1.2.
Other
356 stars 73 forks source link

请问该项目会按照《GMT_0010-2012 SM2 密码算法加密签名消息语法规范》标准实现数字签名和数字信封的p7的封装吗 #786

Closed lgl1112 closed 2 months ago

johnshajiang commented 4 months ago

请问,你指的是第9章中的数字信封数据类型(envelopedData),还是第10章中的签名及数字信封数据类型(signedAndEnvelopedData)

johnshajiang commented 4 months ago

另外需要了解,你会在什么样的场景中使用这一特性? 你觉得应该使用什么样的API去支持它?

P.S. OpenSSL似乎也没有实现这一特性 https://github.com/openssl/openssl/issues/9588

lgl1112 commented 4 months ago

您好,目前涉及到的是第8章的签名数据类型signedData和第9章的数字信封数据类型envelopedData; 使用场景是使用国密证书进行银行类系统的业务对接,需要使用p7格式的数字签名和数字信封进行信息的传递; bc库有实现,但是只能使用bc库提供的api,他底层会调用软算法进行实现,但是国密按规定还是需要走加密机,所以想咨询下您这边会不会提供数字信封的封装接口,可以直接接收sm4加密后的密文、sm2加密后的对称密钥、初始加密加密向量等数据,进行数字信封p7的组装;数字签名同理

johnshajiang commented 4 months ago

PKCS7支持了signedData,但没有支持envelopedData。 可以先试试这个类是否能满足你在signedData方面的需求。

lgl1112 commented 4 months ago

好的,谢谢 请问后面会支持envelopedData吗,现在网上相关的工具实在太少了,只有个标准的文档,做起来太难了

johnshajiang commented 4 months ago

请问后面会支持envelopedData吗,现在网上相关的工具实在太少了

可能还是需求太少了吧。 OpenSSL和JDK都没有支持它。

你先看看PKCS7对signedData的支持是否满足需求,然后我再看看是否支持envelopedData

lgl1112 commented 4 months ago

好吧,我搞下试试

johnshajiang commented 2 months ago

@lgl1112 如有进一步的需求或讨论,请再次打开该issue。