首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法用libressl验证AWS EC2实例标识文档

无法用libressl验证AWS EC2实例标识文档
EN

Security用户
提问于 2018-11-29 00:31:22
回答 2查看 386关注 0票数 1

我试着按照这里的步骤:

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html

为了验证一个实例标识文档,当我在实例上运行(使用OpenSSL 1.0.2k-fips 26 Jan 2017)和在我的Macbook上运行失败(使用LibreSSL 2.2.7)时,我会获得成功。

我对文件做了不同的处理,没有什么区别。SHA1包括在下面。

有什么明显的原因会失败吗?不太确定从这里往哪里走。

在这种情况下:

代码语言:javascript
复制
[ec2-user@ip-10-215-73-128 ~]$ openssl smime -verify -in $PKCS7 -inform PEM -content $DOCUMENT -certfile AWSpubkey -noverify > /dev/null
Verification successful

[ec2-user@ip-10-215-73-128 ~]$ ls
AWSpubkey
[ec2-user@ip-10-215-73-128 ~]$ echo $DOCUMENT
/tmp/iid
[ec2-user@ip-10-215-73-128 ~]$ echo $PKCS7
/tmp/iid.pkcs7
[ec2-user@ip-10-215-73-128 ~]$ openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

[ec2-user@ip-10-215-73-128 ~]$ sha1sum $DOCUMENT
0ab2144f3a388f9ab211fcc61b79d9c3996aae13  /tmp/iid
[ec2-user@ip-10-215-73-128 ~]$ sha1sum $PKCS7
986e701e30828217a3289a79df2759beda5eacc2  /tmp/iid.pkcs7
[ec2-user@ip-10-215-73-128 ~]$ sha1sum AWSpubkey
58f35f20bd57ec01773c29d08ff813c6b6479837  AWSpubkey

当地:

代码语言:javascript
复制
$ openssl smime -verify -in $PKCS7 -inform PEM -content $DOCUMENT -certfile AWSpubkey -noverify > /dev/null
Verification failure
140735950726088:error:21075076:PKCS7 routines:PKCS7_verify:content and data present:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-22.50.2/libressl/crypto/pkcs7/pk7_smime.c:297:

$ ls
AWSpubkey   iid.pkcs7   instance.iid
$ echo $DOCUMENT
instance.iid
$ echo $PKCS7
iid.pkcs7
$ openssl version
LibreSSL 2.2.7

$ sha1sum $DOCUMENT
0ab2144f3a388f9ab211fcc61b79d9c3996aae13  instance.iid
$ sha1sum $PKCS7
986e701e30828217a3289a79df2759beda5eacc2  iid.pkcs7
$ sha1sum AWSpubkey
58f35f20bd57ec01773c29d08ff813c6b6479837  AWSpubkey
EN

回答 2

Security用户

发布于 2018-11-29 07:38:02

我认为这是由于旧的LibreSSL/OpenSSL版本中的错误处理不同而产生的问题。(认为MacOS真的应该使用一些新的东西来实现它们的缺省值)

在旧版本中,当非分离的PKCS7签名与输入内容一起提供时,会引发错误(基本上假定数据不会同时在签名和外部文件中引用)。以后的版本默认只在使用标志调用时才抛出错误,或者完全根据分支跳过检查。

您可以尝试通过使用更新的LibreSSL或OpenSSL版本进行验证来修复此问题。您可以通过macport或自制的方式在mac上获得这些。

票数 2
EN

Security用户

发布于 2021-08-03 20:37:56

如果您忽略了-content $DOCUMENT部件,它实际上在本地工作,并且openssl将假定内容已经包含在pkcs7文件中。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/198674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档