Pot
03-06-2007, 11:50
Vi spiego brevemente il problema:
Devo creare un applicazione in c# che componga un url e faccia il redirect del client su questo url. L'ulr in fondo possiede un token che è ottenuto tramite una cifratura sha1 rsa dei parametri dell'url. L'url è interpretato dal serer che verifica l'autenticità di chi si connette grazie al token ( posside la mia chiave pubblica). Questo software di verifica è fatto in Java. Il problema è che io utilizzo la classe rsaCryptoServiceProvider di .NET e in particolare con il metodo SignData e trasformo l'array di byte che torna il metodo in una stringa base 64, e viene una sequenza di 172 caratteri. Il erver invece vorrebbe una sequenza da 256 caratteri. La mia inoltre contien anche simboli come + e slash cosa che non avviene in quelle generate da java. Nel documento di integrazione ci sono un paio di linne di codice su come viene generato il token usando java.. e viene fatto in questo modo:
Signature rsa = Signature.getInstance("SHA1withRSA");
rsa.initSign(privateKey); //initialize the signature with provided key
rsa.update(toBeSigned); //sign the data
return rsa.sign(); //return the signature in bytes
come faccio a fare la stessa cosa in c#?
Ciao
Alessio
Devo creare un applicazione in c# che componga un url e faccia il redirect del client su questo url. L'ulr in fondo possiede un token che è ottenuto tramite una cifratura sha1 rsa dei parametri dell'url. L'url è interpretato dal serer che verifica l'autenticità di chi si connette grazie al token ( posside la mia chiave pubblica). Questo software di verifica è fatto in Java. Il problema è che io utilizzo la classe rsaCryptoServiceProvider di .NET e in particolare con il metodo SignData e trasformo l'array di byte che torna il metodo in una stringa base 64, e viene una sequenza di 172 caratteri. Il erver invece vorrebbe una sequenza da 256 caratteri. La mia inoltre contien anche simboli come + e slash cosa che non avviene in quelle generate da java. Nel documento di integrazione ci sono un paio di linne di codice su come viene generato il token usando java.. e viene fatto in questo modo:
Signature rsa = Signature.getInstance("SHA1withRSA");
rsa.initSign(privateKey); //initialize the signature with provided key
rsa.update(toBeSigned); //sign the data
return rsa.sign(); //return the signature in bytes
come faccio a fare la stessa cosa in c#?
Ciao
Alessio