rocket-js 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. data/Rakefile +5 -52
  2. data/spec/ruby/spec_helper.rb +2 -1
  3. metadata +7 -129
  4. data/src/vendor/web-socket-js/FABridge.js +0 -604
  5. data/src/vendor/web-socket-js/README.txt +0 -109
  6. data/src/vendor/web-socket-js/WebSocketMain.swf +0 -0
  7. data/src/vendor/web-socket-js/WebSocketMainInsecure.zip +0 -0
  8. data/src/vendor/web-socket-js/flash-src/WebSocket.as +0 -473
  9. data/src/vendor/web-socket-js/flash-src/WebSocketMain.as +0 -88
  10. data/src/vendor/web-socket-js/flash-src/WebSocketMainInsecure.as +0 -19
  11. data/src/vendor/web-socket-js/flash-src/WebSocketStateEvent.as +0 -32
  12. data/src/vendor/web-socket-js/flash-src/bridge/FABridge.as +0 -943
  13. data/src/vendor/web-socket-js/flash-src/build.sh +0 -10
  14. data/src/vendor/web-socket-js/flash-src/com/adobe/net/proxies/RFC2817Socket.as +0 -204
  15. data/src/vendor/web-socket-js/flash-src/com/gsolo/encryption/MD5.as +0 -375
  16. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/Crypto.as +0 -287
  17. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/MozillaRootCertificates.as +0 -3235
  18. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/X509Certificate.as +0 -218
  19. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/X509CertificateCollection.as +0 -57
  20. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/HMAC.as +0 -82
  21. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHMAC.as +0 -27
  22. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHash.as +0 -21
  23. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MAC.as +0 -137
  24. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MD2.as +0 -124
  25. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MD5.as +0 -204
  26. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA1.as +0 -106
  27. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA224.as +0 -28
  28. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA256.as +0 -115
  29. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHABase.as +0 -71
  30. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/ARC4.as +0 -90
  31. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/IPRNG.as +0 -20
  32. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/Random.as +0 -119
  33. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/TLSPRF.as +0 -142
  34. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/rsa/RSAKey.as +0 -339
  35. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/AESKey.as +0 -2797
  36. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/BlowFishKey.as +0 -375
  37. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CBCMode.as +0 -55
  38. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CFB8Mode.as +0 -61
  39. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CFBMode.as +0 -64
  40. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CTRMode.as +0 -58
  41. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/DESKey.as +0 -365
  42. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ECBMode.as +0 -86
  43. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ICipher.as +0 -21
  44. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IMode.as +0 -15
  45. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IPad.as +0 -32
  46. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IStreamCipher.as +0 -21
  47. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ISymmetricKey.as +0 -35
  48. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IVMode.as +0 -110
  49. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/NullPad.as +0 -34
  50. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/OFBMode.as +0 -52
  51. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/PKCS5.as +0 -44
  52. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/SSLPad.as +0 -44
  53. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/SimpleIVMode.as +0 -60
  54. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/TLSPad.as +0 -42
  55. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/TripleDESKey.as +0 -88
  56. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/XTeaKey.as +0 -94
  57. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/aeskey.pl +0 -29
  58. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/dump.txt +0 -2304
  59. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/AESKeyTest.as +0 -1220
  60. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ARC4Test.as +0 -58
  61. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/BigIntegerTest.as +0 -39
  62. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/BlowFishKeyTest.as +0 -148
  63. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CBCModeTest.as +0 -160
  64. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CFB8ModeTest.as +0 -71
  65. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CFBModeTest.as +0 -98
  66. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CTRModeTest.as +0 -109
  67. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/DESKeyTest.as +0 -112
  68. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ECBModeTest.as +0 -151
  69. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/HMACTest.as +0 -184
  70. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ITestHarness.as +0 -20
  71. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/MD2Test.as +0 -56
  72. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/MD5Test.as +0 -58
  73. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/OFBModeTest.as +0 -101
  74. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/RSAKeyTest.as +0 -92
  75. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA1Test.as +0 -198
  76. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA224Test.as +0 -58
  77. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA256Test.as +0 -60
  78. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TLSPRFTest.as +0 -51
  79. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TestCase.as +0 -42
  80. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TripleDESKeyTest.as +0 -59
  81. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as +0 -66
  82. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/BulkCiphers.as +0 -102
  83. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/CipherSuites.as +0 -117
  84. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/IConnectionState.as +0 -14
  85. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/ISecurityParameters.as +0 -29
  86. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/KeyExchanges.as +0 -24
  87. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/MACs.as +0 -38
  88. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLConnectionState.as +0 -171
  89. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLEvent.as +0 -26
  90. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLSecurityParameters.as +0 -340
  91. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSConfig.as +0 -70
  92. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSConnectionState.as +0 -151
  93. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSEngine.as +0 -895
  94. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSError.as +0 -39
  95. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSEvent.as +0 -27
  96. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSecurityParameters.as +0 -197
  97. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSocket.as +0 -370
  98. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSocketEvent.as +0 -26
  99. data/src/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSTest.as +0 -180
  100. data/src/vendor/web-socket-js/flash-src/com/hurlant/math/BarrettReduction.as +0 -90
  101. data/src/vendor/web-socket-js/flash-src/com/hurlant/math/BigInteger.as +0 -1543
  102. data/src/vendor/web-socket-js/flash-src/com/hurlant/math/ClassicReduction.as +0 -35
  103. data/src/vendor/web-socket-js/flash-src/com/hurlant/math/IReduction.as +0 -11
  104. data/src/vendor/web-socket-js/flash-src/com/hurlant/math/MontgomeryReduction.as +0 -85
  105. data/src/vendor/web-socket-js/flash-src/com/hurlant/math/NullReduction.as +0 -34
  106. data/src/vendor/web-socket-js/flash-src/com/hurlant/math/bi_internal.as +0 -11
  107. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/ArrayUtil.as +0 -25
  108. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/Base64.as +0 -189
  109. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/Hex.as +0 -66
  110. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/Memory.as +0 -28
  111. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/der/ByteString.as +0 -43
  112. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/der/DER.as +0 -210
  113. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/der/IAsn1Type.as +0 -21
  114. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/der/Integer.as +0 -44
  115. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/der/OID.as +0 -35
  116. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/der/ObjectIdentifier.as +0 -112
  117. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/der/PEM.as +0 -118
  118. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/der/PrintableString.as +0 -49
  119. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/der/Sequence.as +0 -90
  120. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/der/Set.as +0 -27
  121. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/der/Type.as +0 -94
  122. data/src/vendor/web-socket-js/flash-src/com/hurlant/util/der/UTCTime.as +0 -60
  123. data/src/vendor/web-socket-js/sample.html +0 -76
  124. data/src/vendor/web-socket-js/swfobject.js +0 -4
  125. data/src/vendor/web-socket-js/web_socket.js +0 -388
@@ -1,118 +0,0 @@
1
- /**
2
- * PEM
3
- *
4
- * A class to parse some PEM stuff.
5
- * Copyright (c) 2007 Henri Torgemane
6
- *
7
- * See LICENSE.txt for full license information.
8
- */
9
- package com.hurlant.util.der
10
- {
11
- import com.hurlant.crypto.rsa.RSAKey;
12
- import com.hurlant.math.BigInteger;
13
- import com.hurlant.util.Base64;
14
-
15
- import flash.utils.ByteArray;
16
- import com.hurlant.util.Hex;
17
-
18
- public class PEM
19
- {
20
- private static const RSA_PRIVATE_KEY_HEADER:String = "-----BEGIN RSA PRIVATE KEY-----";
21
- private static const RSA_PRIVATE_KEY_FOOTER:String = "-----END RSA PRIVATE KEY-----";
22
- private static const RSA_PUBLIC_KEY_HEADER:String = "-----BEGIN PUBLIC KEY-----";
23
- private static const RSA_PUBLIC_KEY_FOOTER:String = "-----END PUBLIC KEY-----";
24
- private static const CERTIFICATE_HEADER:String = "-----BEGIN CERTIFICATE-----";
25
- private static const CERTIFICATE_FOOTER:String = "-----END CERTIFICATE-----";
26
-
27
-
28
-
29
- /**
30
- *
31
- * Read a structure encoded according to
32
- * ftp://ftp.rsasecurity.com/pub/pkcs/ascii/pkcs-1v2.asc
33
- * section 11.1.2
34
- *
35
- * @param str
36
- * @return
37
- *
38
- */
39
- public static function readRSAPrivateKey(str:String):RSAKey {
40
- var der:ByteArray = extractBinary(RSA_PRIVATE_KEY_HEADER, RSA_PRIVATE_KEY_FOOTER, str);
41
- if (der==null) return null;
42
- var obj:* = DER.parse(der);
43
- if (obj is Array) {
44
- var arr:Array = obj as Array;
45
- // arr[0] is Version. should be 0. should be checked. shoulda woulda coulda.
46
- return new RSAKey(
47
- arr[1], // N
48
- arr[2].valueOf(), // E
49
- arr[3], // D
50
- arr[4], // P
51
- arr[5], // Q
52
- arr[6], // DMP1
53
- arr[7], // DMQ1
54
- arr[8]); // IQMP
55
- } else {
56
- // dunno
57
- return null;
58
- }
59
- }
60
-
61
-
62
- /**
63
- * Read a structure encoded according to some spec somewhere
64
- * Also, follows some chunk from
65
- * ftp://ftp.rsasecurity.com/pub/pkcs/ascii/pkcs-1v2.asc
66
- * section 11.1
67
- *
68
- * @param str
69
- * @return
70
- *
71
- */
72
- public static function readRSAPublicKey(str:String):RSAKey {
73
- var der:ByteArray = extractBinary(RSA_PUBLIC_KEY_HEADER, RSA_PUBLIC_KEY_FOOTER, str);
74
- if (der==null) return null;
75
- var obj:* = DER.parse(der);
76
- if (obj is Array) {
77
- var arr:Array = obj as Array;
78
- // arr[0] = [ <some crap that means "rsaEncryption">, null ]; ( apparently, that's an X-509 Algorithm Identifier.
79
- if (arr[0][0].toString()!=OID.RSA_ENCRYPTION) {
80
- return null;
81
- }
82
- // arr[1] is a ByteArray begging to be parsed as DER
83
- arr[1].position = 1; // there's a 0x00 byte up front. find out why later. like, read a spec.
84
- obj = DER.parse(arr[1]);
85
- if (obj is Array) {
86
- arr = obj as Array;
87
- // arr[0] = modulus
88
- // arr[1] = public expt.
89
- return new RSAKey(arr[0], arr[1]);
90
- } else {
91
- return null;
92
- }
93
- } else {
94
- // dunno
95
- return null;
96
- }
97
- }
98
-
99
- public static function readCertIntoArray(str:String):ByteArray {
100
- var tmp:ByteArray = extractBinary(CERTIFICATE_HEADER, CERTIFICATE_FOOTER, str);
101
- return tmp;
102
- }
103
-
104
- private static function extractBinary(header:String, footer:String, str:String):ByteArray {
105
- var i:int = str.indexOf(header);
106
- if (i==-1) return null;
107
- i += header.length;
108
- var j:int = str.indexOf(footer);
109
- if (j==-1) return null;
110
- var b64:String = str.substring(i, j);
111
- // remove whitesapces.
112
- b64 = b64.replace(/\s/mg, '');
113
- // decode
114
- return Base64.decodeToByteArray(b64);
115
- }
116
-
117
- }
118
- }
@@ -1,49 +0,0 @@
1
- /**
2
- * PrintableString
3
- *
4
- * An ASN1 type for a PrintableString, held within a String
5
- * Copyright (c) 2007 Henri Torgemane
6
- *
7
- * See LICENSE.txt for full license information.
8
- */
9
- package com.hurlant.util.der
10
- {
11
- import flash.utils.ByteArray;
12
-
13
- public class PrintableString implements IAsn1Type
14
- {
15
- protected var type:uint;
16
- protected var len:uint;
17
- protected var str:String;
18
-
19
- public function PrintableString(type:uint, length:uint) {
20
- this.type = type;
21
- this.len = length;
22
- }
23
-
24
- public function getLength():uint
25
- {
26
- return len;
27
- }
28
-
29
- public function getType():uint
30
- {
31
- return type;
32
- }
33
-
34
- public function setString(s:String):void {
35
- str = s;
36
- }
37
- public function getString():String {
38
- return str;
39
- }
40
-
41
- public function toString():String {
42
- return DER.indent+str;
43
- }
44
-
45
- public function toDER():ByteArray {
46
- return null; // XXX not implemented
47
- }
48
- }
49
- }
@@ -1,90 +0,0 @@
1
- /**
2
- * Sequence
3
- *
4
- * An ASN1 type for a Sequence, implemented as an Array
5
- * Copyright (c) 2007 Henri Torgemane
6
- *
7
- * See LICENSE.txt for full license information.
8
- */
9
- package com.hurlant.util.der
10
- {
11
- import flash.utils.ByteArray;
12
-
13
- public dynamic class Sequence extends Array implements IAsn1Type
14
- {
15
- protected var type:uint;
16
- protected var len:uint;
17
-
18
- public function Sequence(type:uint = 0x30, length:uint = 0x00) {
19
- this.type = type;
20
- this.len = length;
21
- }
22
-
23
- public function getLength():uint
24
- {
25
- return len;
26
- }
27
-
28
- public function getType():uint
29
- {
30
- return type;
31
- }
32
-
33
- public function toDER():ByteArray {
34
- var tmp:ByteArray = new ByteArray;
35
- for (var i:int=0;i<length;i++) {
36
- var e:IAsn1Type = this[i];
37
- if (e == null) { // XXX Arguably, I could have a der.Null class instead
38
- tmp.writeByte(0x05);
39
- tmp.writeByte(0x00);
40
- } else {
41
- tmp.writeBytes(e.toDER());
42
- }
43
- }
44
- return DER.wrapDER(type, tmp);
45
- }
46
-
47
- public function toString():String {
48
- var s:String = DER.indent;
49
- DER.indent += " ";
50
- var t:String = "";
51
- for (var i:int=0;i<length;i++) {
52
- if (this[i]==null) continue;
53
- var found:Boolean = false;
54
- for (var key:String in this) {
55
- if ( (i.toString()!=key) && this[i]==this[key]) {
56
- t += key+": "+this[i]+"\n";
57
- found = true;
58
- break;
59
- }
60
- }
61
- if (!found) t+=this[i]+"\n";
62
- }
63
- // var t:String = join("\n");
64
- DER.indent= s;
65
- return DER.indent+"Sequence["+type+"]["+len+"][\n"+t+"\n"+s+"]";
66
- }
67
-
68
- /////////
69
-
70
- public function findAttributeValue(oid:String):IAsn1Type {
71
- for each (var set:* in this) {
72
- if (set is Set) {
73
- var child:* = set[0];
74
- if (child is Sequence) {
75
- var tmp:* = child[0];
76
- if (tmp is ObjectIdentifier) {
77
- var id:ObjectIdentifier = tmp as ObjectIdentifier;
78
- if (id.toString()==oid) {
79
- return child[1] as IAsn1Type;
80
- }
81
- }
82
- }
83
- }
84
- }
85
- return null;
86
- }
87
-
88
-
89
- }
90
- }
@@ -1,27 +0,0 @@
1
- /**
2
- * Set
3
- *
4
- * An ASN1 type for an Set, that extends a Sequence
5
- * Copyright (c) 2007 Henri Torgemane
6
- *
7
- * See LICENSE.txt for full license information.
8
- */
9
- package com.hurlant.util.der
10
- {
11
- public dynamic class Set extends Sequence implements IAsn1Type
12
- {
13
- public function Set(type:uint = 0x31, length:uint = 0x00) {
14
- super(type, length);
15
- }
16
-
17
-
18
- public override function toString():String {
19
- var s:String = DER.indent;
20
- DER.indent += " ";
21
- var t:String = join("\n");
22
- DER.indent= s;
23
- return DER.indent+"Set["+type+"]["+len+"][\n"+t+"\n"+s+"]";
24
- }
25
-
26
- }
27
- }
@@ -1,94 +0,0 @@
1
- /**
2
- * Type
3
- *
4
- * A few Asn-1 structures
5
- * Copyright (c) 2007 Henri Torgemane
6
- *
7
- * See LICENSE.txt for full license information.
8
- */
9
- package com.hurlant.util.der
10
- {
11
- import com.hurlant.util.Hex;
12
-
13
- public class Type
14
- {
15
- public static const TLS_CERT:Array = [
16
- {name:"signedCertificate", extract:true, value: [
17
- {name:"versionHolder", optional:true, value: [
18
- {name:"version"}
19
- ], defaultValue: function():Sequence{
20
- var s:Sequence = new Sequence(0, 0);
21
- var v:Integer = new Integer(2,1, Hex.toArray("00"));
22
- s.push(v);
23
- s.version = v;
24
- return s;
25
- }()
26
- },
27
- {name:"serialNumber"},
28
- {name:"signature", value: [
29
- {name:"algorithmId"}
30
- ]},
31
- {name:"issuer", extract:true, value: [
32
- {name:"type"},
33
- {name:"value"}
34
- ]},
35
- {name:"validity", value: [
36
- {name:"notBefore"},
37
- {name:"notAfter"}
38
- ]},
39
- {name:"subject", extract:true, value: [
40
- ]},
41
- {name:"subjectPublicKeyInfo", value: [
42
- {name:"algorithm", value: [
43
- {name:"algorithmId"}
44
- ]},
45
- {name:"subjectPublicKey"}
46
- ]},
47
- {name:"extensions", value: [
48
- ]}
49
- ]},
50
- {name:"algorithmIdentifier",value:[
51
- {name:"algorithmId"}
52
- ]},
53
- {name:"encrypted", value:null}
54
- ];
55
- public static const CERTIFICATE:Array = [
56
- {name:"tbsCertificate", value:[
57
- {name:"tag0", value:[
58
- {name:"version"}
59
- ]},
60
- {name:"serialNumber"},
61
- {name:"signature"},
62
- {name:"issuer", value:[
63
- {name:"type"},
64
- {name:"value"}
65
- ]},
66
- {name:"validity", value:[
67
- {name:"notBefore"},
68
- {name:"notAfter"}
69
- ]},
70
- {name:"subject"},
71
- {name:"subjectPublicKeyInfo", value:[
72
- {name:"algorithm"},
73
- {name:"subjectPublicKey"}
74
- ]},
75
- {name:"issuerUniqueID"},
76
- {name:"subjectUniqueID"},
77
- {name:"extensions"}
78
- ]},
79
- {name:"signatureAlgorithm"},
80
- {name:"signatureValue"}
81
- ];
82
- public static const RSA_PUBLIC_KEY:Array = [
83
- {name:"modulus"},
84
- {name:"publicExponent"}
85
- ];
86
- public static const RSA_SIGNATURE:Array = [
87
- {name:"algorithm", value:[
88
- {name:"algorithmId"}
89
- ]},
90
- {name:"hash"}
91
- ];
92
-
93
- }
94
- }
@@ -1,60 +0,0 @@
1
- /**
2
- * UTCTime
3
- *
4
- * An ASN1 type for UTCTime, represented as a Date
5
- * Copyright (c) 2007 Henri Torgemane
6
- *
7
- * See LICENSE.txt for full license information.
8
- */
9
- package com.hurlant.util.der
10
- {
11
- import flash.utils.ByteArray;
12
-
13
- public class UTCTime implements IAsn1Type
14
- {
15
- protected var type:uint;
16
- protected var len:uint;
17
- public var date:Date;
18
-
19
- public function UTCTime(type:uint, len:uint)
20
- {
21
- this.type = type;
22
- this.len = len;
23
- }
24
-
25
- public function getLength():uint
26
- {
27
- return len;
28
- }
29
-
30
- public function getType():uint
31
- {
32
- return type;
33
- }
34
-
35
- public function setUTCTime(str:String):void {
36
-
37
- var year:uint = parseInt(str.substr(0, 2));
38
- if (year<50) {
39
- year+=2000;
40
- } else {
41
- year+=1900;
42
- }
43
- var month:uint = parseInt(str.substr(2,2));
44
- var day:uint = parseInt(str.substr(4,2));
45
- var hour:uint = parseInt(str.substr(6,2));
46
- var minute:uint = parseInt(str.substr(8,2));
47
- // XXX this could be off by up to a day. parse the rest. someday.
48
- date = new Date(year, month-1, day, hour, minute);
49
- }
50
-
51
-
52
- public function toString():String {
53
- return DER.indent+"UTCTime["+type+"]["+len+"]["+date+"]";
54
- }
55
-
56
- public function toDER():ByteArray {
57
- return null // XXX not implemented
58
- }
59
- }
60
- }
@@ -1,76 +0,0 @@
1
- <!--
2
- Lincense: Public Domain
3
- -->
4
-
5
- <html><head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
7
- <title>Sample of web_socket.js</title>
8
-
9
- <!-- Include these three JS files: -->
10
- <script type="text/javascript" src="swfobject.js"></script>
11
- <script type="text/javascript" src="FABridge.js"></script>
12
- <script type="text/javascript" src="web_socket.js"></script>
13
-
14
- <script type="text/javascript">
15
-
16
- // Set URL of your WebSocketMain.swf here:
17
- WEB_SOCKET_SWF_LOCATION = "WebSocketMain.swf";
18
- // Set this to dump debug message from Flash to console.log:
19
- WEB_SOCKET_DEBUG = true;
20
-
21
- // Everything below is the same as using standard WebSocket.
22
-
23
- var ws;
24
-
25
- function init() {
26
-
27
- // Connect to Web Socket.
28
- // Change host/port here to your own Web Socket server.
29
- ws = new WebSocket("ws://localhost:10081/");
30
-
31
- // Set event handlers.
32
- ws.onopen = function() {
33
- output("onopen");
34
- };
35
- ws.onmessage = function(e) {
36
- // e.data contains received string.
37
- output("onmessage: " + e.data);
38
- };
39
- ws.onclose = function() {
40
- output("onclose");
41
- };
42
- ws.onerror = function() {
43
- output("onerror");
44
- };
45
-
46
- }
47
-
48
- function onSubmit() {
49
- var input = document.getElementById("input");
50
- // You can send message to the Web Socket using ws.send.
51
- ws.send(input.value);
52
- output("send: " + input.value);
53
- input.value = "";
54
- input.focus();
55
- }
56
-
57
- function onCloseClick() {
58
- ws.close();
59
- }
60
-
61
- function output(str) {
62
- var log = document.getElementById("log");
63
- var escaped = str.replace(/&/, "&amp;").replace(/</, "&lt;").
64
- replace(/>/, "&gt;").replace(/"/, "&quot;"); // "
65
- log.innerHTML = escaped + "<br>" + log.innerHTML;
66
- }
67
-
68
- </script>
69
- </head><body onload="init();">
70
- <form onsubmit="onSubmit(); return false;">
71
- <input type="text" id="input">
72
- <input type="submit" value="Send">
73
- <button onclick="onCloseClick(); return false;">close</button>
74
- </form>
75
- <div id="log"></div>
76
- </body></html>