4

我在 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"

有人知道如何正确设置吗?

4

0 回答 0