From b60df56157ee1fd0bd4938799bac05a62fda91a1 Mon Sep 17 00:00:00 2001 From: lookshe Date: Sat, 14 Mar 2015 20:45:20 +0100 Subject: initial commit from working version --- .../com/hurlant/util/der/ObjectIdentifier.as | 112 +++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100755 signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ObjectIdentifier.as (limited to 'signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ObjectIdentifier.as') diff --git a/signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ObjectIdentifier.as b/signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ObjectIdentifier.as new file mode 100755 index 0000000..932acd7 --- /dev/null +++ b/signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ObjectIdentifier.as @@ -0,0 +1,112 @@ +/** + * ObjectIdentifier + * + * An ASN1 type for an ObjectIdentifier + * We store the oid in an Array. + * Copyright (c) 2007 Henri Torgemane + * + * See LICENSE.txt for full license information. + */ +package com.hurlant.util.der +{ + import flash.utils.ByteArray; + + public class ObjectIdentifier implements IAsn1Type + { + private var type:uint; + private var len:uint; + private var oid:Array; + + public function ObjectIdentifier(type:uint, length:uint, b:*) { + this.type = type; + this.len = length; + if (b is ByteArray) { + parse(b as ByteArray); + } else if (b is String) { + generate(b as String); + } else { + throw new Error("Invalid call to new ObjectIdentifier"); + } + } + + private function generate(s:String):void { + oid = s.split("."); + } + + private function parse(b:ByteArray):void { + // parse stuff + // first byte = 40*value1 + value2 + var o:uint = b.readUnsignedByte(); + var a:Array = [] + a.push(uint(o/40)); + a.push(uint(o%40)); + var v:uint = 0; + while (b.bytesAvailable>0) { + o = b.readUnsignedByte(); + var last:Boolean = (o&0x80)==0; + o &= 0x7f; + v = v*128 + o; + if (last) { + a.push(v); + v = 0; + } + } + oid = a; + } + + public function getLength():uint + { + return len; + } + + public function getType():uint + { + return type; + } + + public function toDER():ByteArray { + var tmp:Array = []; + tmp[0] = oid[0]*40 + oid[1]; + for (var i:int=2;i>7)|0x80 ); + tmp.push( v&0x7f ); + } else if (v<128*128*128) { + tmp.push( (v>>14)|0x80 ); + tmp.push( (v>>7)&0x7f | 0x80 ); + tmp.push( v&0x7f); + } else if (v<128*128*128*128) { + tmp.push( (v>>21)|0x80 ); + tmp.push( (v>>14) & 0x7f | 0x80 ); + tmp.push( (v>>7) & 0x7f | 0x80 ); + tmp.push( v & 0x7f ); + } else { + throw new Error("OID element bigger than we thought. :("); + } + } + len = tmp.length; + if (type==0) { + type = 6; + } + tmp.unshift(len); // assume length is small enough to fit here. + tmp.unshift(type); + var b:ByteArray = new ByteArray; + for (i=0;i