Lockbox3 OpenSSL_Signatory как подписаться с помощью RSA-SHA256? - PullRequest
0 голосов
/ 05 мая 2020

Поскольку lockbox3 так легко установить с помощью Getit, и мне нужно было подписать сообщение xml, я начал экспериментировать с предоставленным «бета» компонентом OpenSSL_Signatory.

Я правильно закодировал дайджест (проверенный результат) с компонентом sha256 и Tha sh.

, но когда я вызываю

FOpenSSL_Signatory.Sign(hshSHA1, DigestStream, SignatureStream)

, это неправильно, потому что мне нужен SHA256, а не SHA1 (также как должен быть закодирован дайджестстрим? base64 UTF8 или сырые байты?)

увы, есть только 3 возможности preha sh и нет sha256!? Я нашел это в исходном коде компонента OpenSSL_Signatory:

TSigHashKind = ( // How was the input message to sign/verify computed from the source document?
  hshSHA1,       // The document was hashed with SHA1 to produce the input message. NID_sha1 = 64
  hshRipemd160,  // The hash algorithm was ripemd160. NID_ripemd160 = 117
  hshMD5);       // The hash was MD5. NID_md5 = 4

const TypeNumbers: array[ TSigHashKind] of longint = (
  { hshSHA1         ==> } 64,
  { hshRipemd160    ==> } 117,
  { hshMD5          ==> } 4);

Как указать preha sh is sha256?

проблема, она соответствует документации openssl rsa_sign https://www.openssl.org/docs/man1.0.2/man3/RSA_sign.html где доступны только эти 3 параметра.

Это как если бы rsa_sign не смог выполнить sha256, и мне пришлось бы использовать другую команду api?

Можно ли обойти это и достичь RSA- SHA256 с компонентом OpenSSL_Signatory lockbox3?

Любая помощь или подсказка приветствуются

PS: Ну, я наконец решил двигаться дальше и использовать доступные заголовки xmlse c, немного устаревшие, но они подойдут

Я так понимаю, после удара о стену, что lockbox предназначен для sha1 ... но sha1 устарел, и даже для подписи sha256 теперь минимальное требование.

Если кто-то когда-нибудь есть образец кода, как подписывать данные с помощью lockbox и Algorithm = "http://www.w3.org/2001/04/xmldsig-more#rsa -sha256", например xmlse c, я с радостью вернусь и посмотрю этот мастер-образ кода wi -й большой интерес.

хорошего дня; работа должна go вкл. С уважением

...