Android in-app billing Überprüfung der Eingang in Dot Net(C#)
Ich habe ein Android-Anwendung bietet in-app-billing und wir haben unsere application-server an die android-Anwendung verbindet, Dienstleistungen für die Benutzer, die auf in-app-Kauf, den wir drücken wollen Zugang zu dem server für die überprüfung Prozess.
Nun problem ist, ich weiß nicht, wie zu konvertieren Security.java - Datei im dot net(C#) wie unser server ist geschrieben in dot net
HINWEIS: Diese Datei kommt mit android in-app billing gleichen Anwendung, die bietet die Nachrichtensignatur Funktionen, ich brauche nur Ihre Entsprechung in der dot net.
Mehr Details zu diesem problem steht an
http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/66bb5683-fde6-47ca-92d7-de255cc8655a
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein reines C# - Implementierung von Überprüfen Google Play Signaturen auf .Net.
Erstellen Sie eine Konsole-Anwendung-Projekt zu konvertieren, den öffentlichen Schlüssel in das XML-format, die
RSACryptoServiceProvider
erwartet. Hinzufügen PEMKeyLoader.cs, um die Konsole-Anwendung-Projekt.Ausgeführt, dass die Konsole-Anwendung wird die Ausgabe (auf der Konsole) das XML-format, die
RSACryptoServiceProvider
erwartet.Nun, dass Sie Ihre XML-formatierten öffentlichen Schlüssel, können Sie es verwenden, überprüfen von Signaturen:
Ich die Lösung gefunden, das zu erreichen, müssen Sie zuerst konvertieren Sie die public-key-format als dot net benutzt Sortieren von verschiedenen Schlüssel als Eingabe.
Ich weiß nicht, die anderen Wege aber, die wir bekommen können dot net format-Taste mit einem java-Code, die Sie ausführen müssen, nur einmal zu erzeugen, die dot net freundlich Öffentlichen RSA-Schlüssel.
(dies ist nur sinnvoll, wenn der öffentlichkeit nicht sehr schnell ändert, z.B. im Falle von Android market in-app-billing)
folgende Java-Code war für mich
Nun zum überprüfen der Digitalen Signatur können Sie den folgenden code in der dot-net-Programm(c#) zur Verfügung gestellt GCHO_PUB_KEY_EXP ist Ihr Exponent und GCHO_PUB_KEY_MOD ist Ihr E-Modul wird durch die oben genannten Java-Code
Ich hoffe, dass es für jeden funktioniert, wie für mich gearbeitet. Dank
Kredit Geht an Code Project Artikel
data
enthält nicht-ASCII-Zeichen? Aus dem post den Namen nehme ich an, dassdata
enthält JSON einen string, und erlaubt auch nicht-ASCII-Zeichen.DotNetRSA
?Für alle Leute, die brauchen, um die Signatur zu prüfen ist hier, eine komplette c# - Implementierung mit dem BouncyCastle-dll zu unterstützen.
Wenn Sie füttern die Klasse mit Ihrem Google-public-key-Sie können das überprüfen von Signaturen, ohne die Notwendigkeit für jede Java-code. Spaß haben mit ihm. grtz Martien
FYI für peeps suchen, hier ist die komplette Java-Datei und die Funktion in VB.NET.
Nur hinzufügen, um ein neues Java-Projekt und run as java-app mit break point (int i=0;) zu extrahieren, Ihre Schlüssel, code nicht von mir, nur bodged von mir, Respekt für den ursprünglichen Autor, link oben
und VB.NET
Meine Lösung basiert auf BouncyCastle C# nuget.
Ersetzen Sie die Nachricht, die Unterschrift und Schlüssel mit Ihrem ein und testen Sie es. Keine Notwendigkeit für java zu erhalten, das E-Modul oder Exponent.