Frage

Ich versuche, einen RESTful Web-Service in Adobe AIR zu verwenden. Der Dienst verwendet clientseitige Zertifikate für die Authentifizierung, also muss ich das CERT und den privaten Schlüssel von AIR / Actionscript des URLRequest eingestellt, wenn dieser RESTful Service zu verbinden.

Ist das Cert / Private Key möglich in Adobe AIR Einstellung?

fand ich einige Dokumentation von Adobe im Zusammenhang mit der SSL zum Hinzufügen Zertifikatspeicher für AIR 1.5 auf Linux, aber ich war für eine plattformunabhängige Lösung hoffen.

War es hilfreich?

Lösung

Ich konnte keine Möglichkeit dies zu tun finden (na ja, noch nicht sowieso).

Adobe verwendet die zugrunde liegenden Betriebssystem Zertifikatspeicher. In Windows bedeutet dies das gleiche, dass der IE (und Google Chrome) verwenden.

Die nur Lösung, die ich habe kommen mit ist, unter Linux, folgen Sie den Anweisungen in der Link enthalten, und für Windows, haben die Benutzer herunterladen / installieren Sie das Client-Zertifikat über IE ( und der Server root-CA als auch, wie wir ein selbst signiertes Zertifikat für die Organisation) haben, dann Air verwendet diese Zertifikate.

Dieses kommt mit einigen Belästigungen -

  1. Es sei denn, der Benutzer die Root-CA installiert, werden gebeten, sie der Server-Sicherheitszertifikat zu bestätigen.
  2. Der Benutzer wird aufgefordert, das Client-Zertifikat zu bestätigen, wird verwendet, auf alle Anfrage an den Server (und in einer Geschäftsanwendung, die eine Menge von Datenanforderungen des Fall ist, ist es dadurch unbrauchbar). Zum Umgehen dies der einzige Weg, die ich gefunden habe ist, den Benutzer unterwegs in IE haben, zu gehen und Tools -> Internet Options -> Security -> Custom Level -> Miscellaneous -> "Don't prompt for client certificate selection when no certificate or only one certificate exists" ermöglichen. Dies stoppt die ständigen Anfragen (wenn auch natürlich nicht funktioniert, wenn es mehr als ein Zertifikat ist.
  3. Adobe Air wird immer noch nicht, mit allen diesen aber, es wäre denn, der Benutzer geht auch im IE, zu Tools -> Internet Options -> Advanced -> Security -> "Check for service certificate revocation*" und unchecks dies. Dies ist wahrscheinlich nur dann notwendig, mit selbstsignierten Serverzertifikaten für Server, die den Widerruf nicht unterstützen, aber ich bin nicht sicher.

Wie auch immer, wie man sehen kann, es ist alles eine schreckliche Chaos.

Andere Tipps

So fast ein Jahr später ... es kann in JavaScript erfolgen, die kann oder auch nicht eine Hilfe sein, mit dem Open-Source-Projekt Forge:

http://github.com/digitalbazaar/forge/blob/master/README

A WebID Demo verwendet derzeit Forge ein clientseitiges Zertifikat als Authentifizierungsmechanismus bereitzustellen. Es ist nur eine Demo, so dass die SSL-Zertifikate selbstsignierten sind:

https://webid.digitalbazaar.com/manage/

https://payswarm.com/webid-demo/

Es gibt eine Klasse für diese: http://help.adobe.com/en_US /FlashPlatform/reference/actionscript/3/flash/net/SecureSocket.html

Ich glaube, dass die addBinaryChainBuildingCertificate Methode in der Lage sein soll, diese Aufgabe abzuschließen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top