如何复制OpenSSL命令解密CMS文件

问题描述

我曾尝试在Go中解密CMS文件,但无法这样做。我用来通过openssl解密的命令是openssl cms -decrypt -inform DER -recip X -inkey Y。这样可以很好地工作,并且文件已正确解密。目前,我在Go中使用os / exec来使用同一命令对其进行解密,但是我希望有一些库可以执行相同的功能。但是我已经能够弄清楚是怎么做到的。

我曾尝试使用pkcs7解密,但没有成功,尽管我怀疑此软件包是正确的软件包。我目前的尝试:

pkey,_ := ioutil.ReadFile(privKeyLoc)

//decrypt attempt 1
pk_obj,_ := pkcs7.Parse(data)
_,err := pk_obj.DecryptUsingPSK(pkey)
//err = "pkcs7: content data is a decryptable data type"

//attempt 2
rs,_ := ssh.ParseRawPrivateKey(pkey)
crt,_ := tls.LoadX509KeyPair(pubKeyLoc,privKeyLoc)
x509cert,_ := x509.ParseCertificate(crt.Certificate[0])
_,err = pk_obj.Decrypt(x509cert,rs.(crypto.PrivateKey))
//err = "crypto/rsa: decryption error"

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)