我需要能够发布Mozilla OpenBadges。但是,http://validator.openbadges.org处的Validator表示我的断言无效并验证签名,即使我按照文档的说明进行了操作。执行签名验证检查的Mozilla OpenBadges方法位于http://github.com/brianloveswords/node-jws#jwsverifysignature-secretorkey
我已将此问题here和here与我的代码和结果声明一起发布。
虽然有一些文档,但似乎缺乏签名断言的完整示例。有关他们提供的一些文档,请参阅以下两个链接: (1)http://github.com/mozilla/openbadges/wiki/Assertions#signed-badges和(2)http://self-issued.info/docs/draft-ietf-jose-json-web-signature.html#RS256Example
如果您需要更多信息,请告知我们。我试着在这里尽可能详细而简洁。
提前谢谢! - 弗雷迪
答案 0 :(得分:0)
RS256Example链接在顶部显示:RSASSA-PKCS-v1_5 SHA-256
使用phpseclib执行此操作:
$rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
$rsa->setHash('sha256');
答案 1 :(得分:0)
问题原来是我没有.pem格式的公钥文件。公钥每行必须为65个字符,私钥必须为每行64个字符----- BEGIN PUBLIC KEY -----和----- END PUBLIC KEY -----两个键分别作为页眉和页脚。在有效负载格式正确的情况下,我能够在OpenBadges验证器上进行验证,因此使用PHPSecLib对其进行签名完全没问题! 无论如何,谢谢你neubert的意见。