为什么我的Java私钥签名与我的Openssl签名不匹配?

时间:2019-04-18 21:39:45

标签: java openssl signature sha256 private-key

所以我从Java中获得的签名与我在openssl中获得的签名不匹配。这是我正在做的事的一个例子:

在使用openssl的终端中,我正在这样做。

Capybara.default_max_wait_time

Java代码:(哈希与我用于openssl的哈希匹配)

    echo +pkCdYME5SzI7A2PV0r8/8FqYGZyvTp+4DoGkdaMYRs= hash
    openssl dgst -sha256 -sign "private.key" -out hash.sha256 hash
    base64 < hash.sha256 > hash.bin
    cat hash.bin
    results posted below

请帮助!我已经搜寻了互连网,但我不知道自己在做什么错。

我的openssl签名= O8DRek17ySzz + p2N8brH / 9CdY3b + GN5bnyaTtn + ZP3SDIBvtqkk / LP + zb1BZ80a6xCIID8CTjNU + / svrV / Q / rXEqEQc3jk3ZVUo0RJB52rgW26EQWyieAdqRlIbQqPhaCIrpWrs + WImGk7cPnkTEueIm + EzxG8ptjF5cAZH3lustVLt8SM9sXjQJzxzMgF2g0XN + 1GQniAdWT / oNJXv0ZG7PSFACfcoSTSdN4wHkVAG4 / PF / D6H + M5eTkEu6NhXfbfBBtavGmBiDgM6FPFDJ4r + 2Rzvc / vpSiglUUQgxD58PTH47Y8xMc4t4 / yahrchi2if2cJ7e89RBb1IHNus + eB8zPS0MHBn2OWDUM66P1KRanwzebDfg08VhRbW8zVnmNUNzXxAdCWa3kwsDe7hx + 36oHfJwoyqIFwjJi8TKZm0JLKMf0SaLh / 6zK0bIdgoXw23AfJni1ewmUqZbpE6Q4A0TgxaJg1aozb06l7Nb523FqV6ScRZ0wJK3s51Dduy5j1V1jt0 + YYD + 0zACyYfr5a + vypEygzsZ2Rzu3Q / l4VoPlZF2dr50TLnbhTvFnyK9mvc0zaTmsuHI5UJAbcpFBTXiDWb0DoWo4PkHRVFPvIMai37UxW4c5V0ybchlQHrEKYQJYYYZYT

我的Java签名= 8dKc1otqL + thKQ7yTPeHX7T5fuOgv6PmHvlP5QyEHEXZILwD / 234polMSs20i4na9wCuUdcSA + mHEKpY7Dkyd8VLTcZZ8RC8AlPE5bvzXc / uZhyPpBuSA7mDDOARbg3mx5usq4ythdqxj6OvdOBAJXXFB6Jc / c1XVd8IxDnRJoz5MlwxZIp94TAyW11QbMGNZuzcbsdEdsBuXU1MR4gzVfMLJjMcIM3YTtsP3bktsPAs5W2Asp9lDg5GuIOgWgXpTlj3VY6NF64SCI1tY4LhE7zq16YXQ6ykJ490YSVX5J9z + cDvZcVgfvgKCZuk4wgnXo6PbE4Wm4FDuzu35DEQi9Y5EEHzXlb5aNFQP3S6lumyfqOCmZlQcNVS53ur1fY4P8cnOuHZelyYS1Dw54q0SDCjFuANK2Ltl8rIZOZQWbg6jo45HbpaHUgt1NMkmj / UC / rLSnofa / YYbcJ2YZbqUdyX / yTBlzEuLR0 / 4Bgv9zvBw8HI0h3icv7 / 1NYaKo / eBSki6HNyDh2pDWX6IHQTFMzdFKeoXVAQLfaJREIpMPu + rDExI6Ozl0r9D61fY + XtMrptGNTFzf1h4cwUAZAC737Ahc6qsr + jQkDWDJt6oJbgziNE4C2JZriRtvRDACpryt6MGH1QnYPGYfCVs / xSxaYEtGJsjRRkG + lkpojcJ + A =

1 个答案:

答案 0 :(得分:0)

您的问题很可能是由于使用echo为签名功能准备输入而引起的。 默认情况下,echo会将换行符附加到输出的任何内容上,表示它的字节会使签名混乱。

尝试使用echo -n跳过换行符,看看它是否有效。