Шифрование RSA-OAEP sha-1 spki по Public ключу
у меня есть кусок кода с сайта, я делаю запрос некий (не важно какой) на сайт, он выдает мне publicKey, поэтому ключу нужно зашифровать методом rsa-sha-1 текст, дальше отправить на сайт и сайт через PrivateKey (который нам не дает) попробует расшифровать наш текст, если расшифрует, отправляет положительный ответ, если нет, отрицательный. Так вот суть в том есть ли реализации данного момента на Delphi или возможно кто-то подскажет как это можно реализовать, потому что сколько не бился, не получается найти даже примерно что-то похожее на то что нужно... На js есть несколько вариаций реализации нужного результата https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey, но даже на js у меня не вышло получить нужный результат, т.к. я с ним практически не знаком...
var t, r, i;
return a.__generator(this, function(e) {
switch (e.label) {
case 0:
this.operation = o, e.label = 1;
case 1:
return e.trys.push([1, 4, , 5]), [4, crypto.subtle.importKey("spki", Object(T.k)(atob(o.publicKey)), {
name: "RSA-OAEP",
hash: {
name: "SHA-1"
}
}, !1, ["encrypt"])];
case 2:
return t = e.sent(), [4, crypto.subtle.encrypt({
name: "RSA-OAEP",
hash: {
name: "SHA-1"
}
}, t, Object(T.k)(this.pinValue))];
case 3:
return r = e.sent(), this.encryptedPin = btoa(Object(T.b)(r)), this.loading = !1, o.confirmationRequired ? (this.step = p.CONFIRM, this.smsCountdown(!0)) : this.submitPin(!1), [3, 5];
case 4:
return i = e.sent(), this.changePinError(i), [3, 5];
case 5:
return [2]
}
})
})```