Tag: 植物

安全签名algorithm的兼容性

经过一番研究之后,似乎有人build议使用带有PSS填充的RSA,因为它的安全属性已经很好了。 问题在于签名algorithm很难兼容 ,特别是对于这样的需求。 我想实现的是至less在以下环境中进行签名和validation: 牡丹 OpenSSL的 encryption+ Node.js(使用OpenSSL) 在PolarSSL和其他软件上兼容也许会很有趣。 在node.jsencryption页面中有一个关于创build和validation签名的例子。 这很好,但我需要与Botan EMSAx(SHA256)兼容,并且真的认为签名应该用RSA-PSS之类的安全软件来填充。 节点示例页面仅显示'RSA-SHA256'但没有使用填充。 PSS填充可以通过使用OpenSSL来实现: openssl dgst -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:32 \ -sign rsa.key -out data.txt.sha256 data.txt 我的testing代码看起来像这样: var s = crypto.createSign('RSA-SHA256'); var key = fs.readFileSync('rsa.key').toString(); s.update(message); var signature = s.sign(key, 'base64'); 但它为相同的input产生相同的输出,这不是我想要的,而且显然与我使用Botan的C ++实现不兼容。 如果无法以最小的努力达到兼容性,对于selectalgorithm的任何build议,我可能会努力尝试联系这些encryption库的开发者,看看是否有一个algorithm的共识来获得作为事实上的标准实施。 (是的,我知道这似乎是绝望。)是否有这样的持续努力?