Ich arbeite an der Implementierung von Bing Cashback. Um eine eingehende Anfrage von Bing als gültig zu verifizieren, stellen sie eine Signatur zur Verfügung. Die Signatur ist ein 160-Bit-SHA-1-Hash der URL, der mit RSA verschlüsselt wurde.Erstellen von RSA-Schlüsseln aus bekannten Parametern in Java
Microsoft bietet den RSA "öffentlichen Schlüssel", Modul und Exponent, mit dem ich den Hash entschlüsseln soll.
Gibt es eine Möglichkeit, die Java-Schlüsselobjekte zu erstellen, die zum Entschlüsseln des Hash benötigt werden, wie Microsoft sagt?
Alles, was ich finden kann, erstellt RSA-Schlüsselpaare automatisch, da RSA so funktionieren soll. Ich würde wirklich gerne die Java-Objekte verwenden, wenn das überhaupt möglich ist, da das natürlich zuverlässiger ist als eine handcodierte Lösung.
Der von Ihnen bereitgestellte Beispielcode befindet sich in .NET und verwendet eine .NET-Bibliotheksfunktion, um den Hash zu überprüfen. Insbesondere RSACryptoServiceProvider.VerifyHash()
Wird Cipher einen öffentlichen Schlüssel in DECRYPT_MODE nehmen? – meleager
Ja, die RSA-Verschlüsselung der meisten Provider akzeptiert einen öffentlichen Schlüssel für die Entschlüsselung. Sie werden sogar nach der richtigen Polsterung suchen. Es ist jedoch besser, eine "Signatur" -Instanz zu verwenden. Ich werde meine Antwort aktualisieren, um zu demonstrieren. – erickson