public function verify(param1:ByteArray, param2:ByteArray, param3:uint, param4:Function = null) : void
{
this._decrypt(this.doPublic, param1, param2, param3, param4, 1);
return;
}// end function
private function _decrypt(param1:Function, param2:ByteArray, param3:ByteArray, param4:uint, param5:Function, param6:int) : void
{
var _loc_9:BigInteger = null;
var _loc_10:BigInteger = null;
var _loc_11:ByteArray = null;
if (param5 == null)
{
param5 = this.pkcs1unpad;
}
if (param2.position >= param2.length)
{
param2.position = 0;
}
var _loc_7:* = this.getBlockSize();
var _loc_8:* = param2.position + param4;
while (param2.position < _loc_8)
{
_loc_9 = new BigInteger(param2, _loc_7, true);
_loc_10 = this.param1(_loc_9);
_loc_11 = this.param5(_loc_10, _loc_7, param6);
if (_loc_11 == null)
{
throw new TLSError("Decrypt error - padding function returned null!", TLSError.decode_error);
}
param3.writeBytes(_loc_11);
}
return;
}// end function
et le RSA sera :
private function cipherRsa(param1:String, param2:String, param3:TrustCertificate) : Vector.<int>
{
var _loc_5:ByteArray = null;
var _loc_8:int = 0;
var _loc_4:* = new ByteArray();
if (param3)
{
_loc_4.writeUTFBytes(this._salt);
_loc_4.writeUnsignedInt(param3.id);
_loc_4.writeUTFBytes(param3.hash);
_loc_4.writeByte(param1.length);
_loc_4.writeUTFBytes(param1);
_loc_4.writeUTFBytes(param2);
}
else
{
_loc_4.writeUTFBytes(this._salt);
_loc_4.writeByte(param1.length);
_loc_4.writeUTFBytes(param1);
_loc_4.writeUTFBytes(param2);
}
_loc_5 = RSA.publicEncrypt(this._publicKey, _loc_4);
var _loc_6:* = new Vector.<int>;
_loc_5.position = 0;
var _loc_7:int = 0;
while (_loc_5.bytesAvailable != 0)
{
_loc_8 = _loc_5.readByte();
_loc_6[_loc_7] = _loc_8;
_loc_7++;
}
return _loc_6;
}// end function
public static function getInstance() : AuthentificationManager
{
if (_self == null)
{
_self = new AuthentificationManager;
}
return _self;
}// end function
}
}