所以我从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 =
答案 0 :(得分:0)
您的问题很可能是由于使用echo
为签名功能准备输入而引起的。
默认情况下,echo
会将换行符附加到输出的任何内容上,表示它的字节会使签名混乱。
尝试使用echo -n
跳过换行符,看看它是否有效。