Flex证书.crt文件到ByteArray中,用于secureSocket类的addBinaryChainBuildingCertificate方法

时间:2011-12-21 07:33:27

标签: flex security certificate

我有一个证书文件,我想将其导入到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 :(得分:0)

对我来说,原因是因为证书以PEM格式编码。 将其转换为DER格式后,它可以正常工作。

  

包含DER编码的X.509数字证书的ByteArray对象。