Go中的OpenSSL CMS容器解密

时间:2019-02-01 09:04:58

标签: go encryption openssl cryptography smime

我有一个看起来像这样的OpenSSL CMS容器:

-----BEGIN CMS-----
MIIB8wYJKoZIhvcNAQcDoIIB5DCCAeACAQIxggFbMIIBVwIBAoAULnkcmzlVKA2n
...
VHlK2XDa0mvNQBn3dbwKTuENUizo1kg=
-----END CMS-----

可以使用如下所示的私钥来解密此CMS容器:

-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFHzBJBgkqhkiG9w0BBQ0wPDAbBgkqhkiG9w0BBQwwDgQItDyAwApAzCkCAggA
...
cZwaM/68l8G0qc4B6EyqgCIF0A==
-----END ENCRYPTED PRIVATE KEY-----

我还可以使用OpenSSL命令行对其进行解密:

openssl cms -decrypt -in cms-container.txt -inkey private-key.pem -inform PEM

现在我将在Go中实现它,但是目前我只有一个主意:通过exec.Command()

cmd.Command("openssl", "cms -decrypt -in cms-container.txt -inkey private-key.pem -inform PEM")

这是一种非常肮脏的方式,宁愿使用库。

让任何人知道哪个库对此有用或如何实现?

谢谢大家!

0 个答案:

没有答案