Bug:Fix file validation issue
[vnfsdk/refrepo.git] / vnfmarket / src / main / webapp / vnfmarket / node_modules / socket.io-client / lib / vendor / web-socket-js / flash-src / com / hurlant / crypto / tests / RSAKeyTest.as
1 /**\r
2  * RSAKeyTest\r
3  * \r
4  * A test class for RSAKey\r
5  * Copyright (c) 2007 Henri Torgemane\r
6  * \r
7  * See LICENSE.txt for full license information.\r
8  */\r
9 package com.hurlant.crypto.tests\r
10 {\r
11         import com.hurlant.crypto.rsa.RSAKey;\r
12         import flash.utils.ByteArray;\r
13         import com.hurlant.util.Hex;\r
14         import com.hurlant.util.der.PEM;\r
15         \r
16         public class RSAKeyTest extends TestCase\r
17         {\r
18                 public function RSAKeyTest(h:ITestHarness)\r
19                 {\r
20                         super(h, "RSA Testing");\r
21                         \r
22                         runTest(testSmoke,"RSA smoke test");\r
23                         runTest(testGenerate, "RSA Key Generation test");\r
24                         runTest(testPEM, "RSA Private Key PEM parsing");\r
25                         runTest(testPEM2, "RSA Public Key PEM parsing");\r
26                         h.endTestCase();\r
27                 }\r
28                 \r
29                 public function testSmoke():void {\r
30                         var N:String ="C4E3F7212602E1E396C0B6623CF11D26204ACE3E7D26685E037AD2507DCE82FC" + \r
31                                         "28F2D5F8A67FC3AFAB89A6D818D1F4C28CFA548418BD9F8E7426789A67E73E41";\r
32                         var E:String = "10001";\r
33                         var D:String = "7cd1745aec69096129b1f42da52ac9eae0afebbe0bc2ec89253598dcf454960e" + \r
34                                         "3e5e4ec9f8c87202b986601dd167253ee3fb3fa047e14f1dfd5ccd37e931b29d";\r
35                         var P:String = "f0e4dd1eac5622bd3932860fc749bbc48662edabdf3d2826059acc0251ac0d3b";\r
36                         var Q:String = "d13cb38fbcd06ee9bca330b4000b3dae5dae12b27e5173e4d888c325cda61ab3";\r
37                         var DMP1:String = "b3d5571197fc31b0eb6b4153b425e24c033b054d22b9c8282254fe69d8c8c593";\r
38                         var DMQ1:String = "968ffe89e50d7b72585a79b65cfdb9c1da0963cceb56c3759e57334de5a0ac3f";\r
39                         var IQMP:String = "d9bc4f420e93adad9f007d0e5744c2fe051c9ed9d3c9b65f439a18e13d6e3908";\r
40                         // create a key.\r
41                         var rsa:RSAKey = RSAKey.parsePrivateKey(N,E,D, P,Q,DMP1,DMQ1,IQMP);\r
42                         var txt:String = "hello";\r
43                         var src:ByteArray = Hex.toArray(Hex.fromString(txt));\r
44                         var dst:ByteArray = new ByteArray;\r
45                         var dst2:ByteArray = new ByteArray;\r
46                         rsa.encrypt(src, dst, src.length);\r
47                         rsa.decrypt(dst, dst2, dst.length);\r
48                         var txt2:String = Hex.toString(Hex.fromArray(dst2));\r
49                         assert("rsa encrypt+decrypt", txt==txt2);\r
50                 }\r
51                 \r
52                 public function testGenerate():void {\r
53                         var rsa:RSAKey = RSAKey.generate(256, "10001");\r
54                         // same lame smoke test here.\r
55                         var txt:String = "hello";\r
56                         var src:ByteArray = Hex.toArray(Hex.fromString(txt));\r
57                         var dst:ByteArray = new ByteArray;\r
58                         var dst2:ByteArray = new ByteArray;\r
59                         rsa.encrypt(src, dst, src.length);\r
60                         rsa.decrypt(dst, dst2, dst.length);\r
61                         var txt2:String = Hex.toString(Hex.fromArray(dst2));\r
62                         assert("rsa encrypt+decrypt", txt==txt2);\r
63                 }\r
64                 \r
65                 public function testPEM():void {\r
66                         var pem:String = "-----BEGIN RSA PRIVATE KEY-----\n" + \r
67                                         "MGQCAQACEQDJG3bkuB9Ie7jOldQTVdzPAgMBAAECEQCOGqcPhP8t8mX8cb4cQEaR\n" + \r
68                                         "AgkA5WTYuAGmH0cCCQDgbrto0i7qOQIINYr5btGrtccCCQCYy4qX4JDEMQIJAJll\n" + \r
69                                         "OnLVtCWk\n" + \r
70                                         "-----END RSA PRIVATE KEY-----";\r
71                         var rsa:RSAKey = PEM.readRSAPrivateKey(pem);\r
72                         //trace(rsa.dump());\r
73 \r
74                         // obligatory use\r
75                         var txt:String = "hello";\r
76                         var src:ByteArray = Hex.toArray(Hex.fromString(txt));\r
77                         var dst:ByteArray = new ByteArray;\r
78                         var dst2:ByteArray = new ByteArray;\r
79                         rsa.encrypt(src, dst, src.length);\r
80                         rsa.decrypt(dst, dst2, dst.length);\r
81                         var txt2:String = Hex.toString(Hex.fromArray(dst2));\r
82                         assert("rsa encrypt+decrypt", txt==txt2);\r
83                 }\r
84                 public function testPEM2():void {\r
85                         var pem:String = "-----BEGIN PUBLIC KEY-----\n" + \r
86                                         "MCwwDQYJKoZIhvcNAQEBBQADGwAwGAIRAMkbduS4H0h7uM6V1BNV3M8CAwEAAQ==\n" + \r
87                                         "-----END PUBLIC KEY-----";\r
88                         var rsa:RSAKey = PEM.readRSAPublicKey(pem);\r
89                         //trace(rsa.dump());\r
90                 }\r
91         }\r
92 }