Я хочу использовать openssl dgst, чтобы проверить, в порядке ли сообщение и данные подписи, предоставленные третьей стороной, в порядке или нет.
Как сообщение, так и данные знака имеют кодировку base64.
Согласнопо их спецификации, я должен сначала зашифровать сообщение в дайджест sha256, затем base64 декодировать данные знака, а затем расшифровать их с помощью открытого ключа.Наконец, я могу проверить, сравнив дайджест sha256 и расшифрованные данные знака.
Вот открытый ключ, который я извлекаю из их сертификата.
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxTRl9FnUNrnXNVFRl5gC
2Fo/rdr/x0T/dyoCuCmJKMO9tijgdS8/NNOyKRyswtq1gGSmAEKqcwqV6/cn8u8N
1QD/vO8jXErUwixVgypLyq6qNMz6qot+aabRwJuILFZbQ/lQQiCJA3VrEMgl8yFT
OOQNVvEovWbeLuaqJghJH4YfhmlC29stlb6oLmUoHmB0l1MgUqcxtmjwj+Q3a3R8
mAIKRpXnCYD+dLpnHwegcPpPbRBkmRFaM0M58msOelqayNrbTKwlM98xSlS+FAzQ
gyWWmiCMtxK+P1lTgQRWyOF2rp3ucc16hwlq0YvV5fCD5HHwp/46ftLKHY2szVHe
HQIDAQAB
-----END PUBLIC KEY-----
Вот данные:
eyJtZXNzYWdlSWQiOiJINlIwMDA1MDAxMDAiLCJmcHNJZGVudGlmaWVyIjoiMTk5NDA3OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLCJ0cmFuc2FjdGlvbklkIjoiMTIxOTAzMjdGMDA0ODc1NzQ4ICAgICAgICAgICAgICAgICAiLCJlbmRUb0VuZElkIjoiMDAtMTkwMzI3Q1hBMjIyMTExMUhLNzc5MyAgICAgICAgICAiLCJ0eG5DdXIiOiJIS0QiLCJ0eG5BbXQiOiIgICAgICAgIDEwMS4wMCIsInR4bkRhdGVUaW1lIjoiMjAyMjA4MDEgMTg6MDQ6MzEifQ
1013 * Вот данные знак: 1015 * XYuv2MvzWfzc0dmB_mVbKdlHZC26AiZdllFEQFhYMmAhvhe7AOOWQ8xrEYeca0D4UMPdHGfCPY0qNVGa0jNUvIwK0qJ6V6Le6dhkXVk5q0o0Q3Is6C3mk4Q6CqBdGK5yAdrYLmNG5v6fA2ifg_YvcVnavwFawvSue-fp7yyAyNZtdyeC2j3mMND0P91NQ2yHHbGCRJWFxzsqz4CdhTPrLGPiqZAdJejfz1irMLuiuUjTKSazsqYAJhXslz9xXd9hyZsQdCTrGT4MYQjTHoiQAoIEqrE5rhDI3ZifhaYFg1fRrGXagw5s5naelCks6ypu95YPmuEqG0QJl2YoQlwMpw 1017 * Я пытался использовать
base64 --decode sigfile > decodedsigfile
до decodСначала нужно подписать данные.
Затем используйте
openssl dgst -sha256 -verify <public key> -signature decodedsigfile datafile
для проверки.
Я ожидаю, что это правда.Однако вывод всегда ложный.
Мне нужна помощь, чтобы сообщить, какая часть неправильна.
(Предположим, что открытый ключ правильный)