我在 cygwin 环境中从https://www.aleksey.com/xmlsec/news.html编译了最新版本的 XMLSec。现在我按照这个示例使用会话密钥和数字签名加密 XML 文件。http://users.dcc.uchile.cl/~pcamacho/tutorial/web/xmlsec/xmlsec.html#htoc9 由于 CBC 存在一些严重的安全问题,我现在想加强使用 AES-128-GCM 而不是 3DES- 192-CBC。我尝试将 Session-Key-Template.xml 更改为
<EncryptedData
xmlns="http://www.w3.org/2001/04/xmlenc#"
xmlns:enc11="http://www.w3.org/2009/xmlenc11#"
Type="http://www.w3.org/2001/04/xmlenc#Element">
<EncryptionMethod enc11:Algorithm=
"http://www.w3.org/2009/xmlenc11#aes128-gcm" />
但这会给我一个错误,即找不到算法。控制台输出是
xmlsec1 encrypt --pubkey-pem pub-userkey.pem --session-key aes-128 --xml- data doc-plain.xml --output doc-encrypted.xml session-key-template.xml
func=xmlSecTransformNodeRead:file=transforms.c:line=1543:obj=unknown:subj=xmlSec
TransformIdListFindByHref:error=1:xmlsec library function
failed:href=http://www.w3.org/2009/xmlenc11#aes128-gcm
func=xmlSecTransformCtxNodeRead:file=transforms.c:line=694
:obj=unknown:subj=xmlSecTransformNodeRead:error=1:
xmlsec library function failed:name=EncryptionMethod
func=xmlSecEncCtxEncDataNodeRead:file=xmlenc.c:line=905:
obj=unknown:subj=xmlSecTransformCtxNodeRead:error=1:
xmlsec library function failed:node=EncryptionMethod
func=xmlSecEncCtxXmlEncrypt:file=xmlenc.c:line=386:
obj=unknown:subj=xmlSecEncCtxEncDataNodeRead:error=1:
xmlsec library function failed:
Error: failed to encrypt xml file "doc-plain.xml"
Error: failed to encrypt file with template "session-key-template.xml"
有人知道如何正确设置吗?