Файл сертификата Flex .crt в ByteArray для класса secureSocket метод addBinaryChainBuildingCertificate - PullRequest
1 голос
/ 21 декабря 2011

У меня есть файл сертификата, который я хочу импортировать в приложение flex, чтобы установить безопасное соединение через сокет с сервером.Но я получаю исключение, которое говорит ArgumentError: Error #2004: One of the parameters is invalid.

var urlLoader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("xyz.crt");
urlLoader.addEventListener(Event.COMPLETE, doEvent);
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.load(request);

private function doEvent(evt:Event):void {
var ldr:URLLoader = evt.target as URLLoader;
secureSocket.addEventListener( Event.CONNECT, onConnect )
secureSocket.addEventListener( IOErrorEvent.IO_ERROR, onError );
try {
  secureSocket.addBinaryChainBuildingCertificate(ldr.data,true );
  secureSocket.connect( "192.168.2.100", 443 );
} catch ( error:Error ) {
  Alert.show( error.toString() );
}

1 Ответ

0 голосов
/ 07 мая 2012

Для меня причина в том, что сертификат закодирован в формате PEM.После преобразования в формат DER он работает нормально.

Объект ByteArray, содержащий цифровой сертификат X.509 в кодировке DER.

...