Estoy trabajando para implementar Bing Cashback. Para verificar que una solicitud entrante de Bing es válida, proporcionan una firma. La firma es un hash SHA-1 de 160 bit de la url encriptado usando RSA.Creación de claves RSA a partir de parámetros conocidos en Java
Microsoft proporciona la RSA "clave pública", módulo y exponente, con la que se supone que debo descifrar el hash.
¿Hay alguna forma de crear los objetos clave de Java necesarios para descifrar el hash como dice Microsoft?
Todo lo que puedo encontrar crea automáticamente pares de claves RSA, ya que así es como se supone que RSA funciona. Realmente me gustaría utilizar los objetos Java si es posible, ya que obviamente es más confiable que una solución codificada a mano.
El código de ejemplo que han proporcionado está en .NET y utiliza una función de biblioteca .NET para verificar el hash. Específicamente RSACryptoServiceProvider.VerifyHash()
Will Cipher tomará una clave pública en DECRYPT_MODE? – meleager
Sí, la implementación de cifrado RSA de la mayoría de los proveedores aceptará una clave pública para el descifrado. Incluso verificará el relleno correcto. Sin embargo, es mejor usar una instancia de 'Firma'. Actualizaré mi respuesta para demostrar. – erickson