Diffstat (limited to 'frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html') (more/less context) (ignore whitespace changes)
-rw-r--r-- | frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html b/frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html index 4e7ad3d..f253553 100644 --- a/frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html +++ b/frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html | |||
@@ -1,118 +1,116 @@ | |||
1 | <!-- | 1 | <!-- |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2013 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz Community Edition. | 5 | This file is part of Clipperz, the online password manager. |
6 | Clipperz Community Edition is an online password manager. | ||
7 | For further information about its features and functionalities please | 6 | For further information about its features and functionalities please |
8 | refer to http://www.clipperz.com. | 7 | refer to http://www.clipperz.com. |
9 | 8 | ||
10 | * Clipperz Community Edition is free software: you can redistribute | 9 | * Clipperz is free software: you can redistribute it and/or modify it |
11 | it and/or modify it under the terms of the GNU Affero General Public | 10 | under the terms of the GNU Affero General Public License as published |
12 | License as published by the Free Software Foundation, either version | 11 | by the Free Software Foundation, either version 3 of the License, or |
13 | 3 of the License, or (at your option) any later version. | 12 | (at your option) any later version. |
14 | 13 | ||
15 | * Clipperz Community Edition is distributed in the hope that it will | 14 | * Clipperz is distributed in the hope that it will be useful, but |
16 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
18 | See the GNU Affero General Public License for more details. | 17 | See the GNU Affero General Public License for more details. |
19 | 18 | ||
20 | * You should have received a copy of the GNU Affero General Public | 19 | * You should have received a copy of the GNU Affero General Public |
21 | License along with Clipperz Community Edition. If not, see | 20 | License along with Clipperz. If not, see http://www.gnu.org/licenses/. |
22 | <http://www.gnu.org/licenses/>. | ||
23 | 21 | ||
24 | --> | 22 | --> |
25 | 23 | ||
26 | <html> | 24 | <html> |
27 | <head> | 25 | <head> |
28 | <title>Clipperz.Crypto.Usage - TEST</title> | 26 | <title>Clipperz.Crypto.Usage - TEST</title> |
29 | 27 | ||
30 | <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> | 28 | <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> |
31 | <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> | 29 | <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> |
32 | <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> | 30 | <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> |
33 | 31 | ||
34 | <script type='text/javascript' src='../../../../js/JSON/json2.js'></script> | 32 | <script type='text/javascript' src='../../../../js/JSON/json2.js'></script> |
35 | 33 | ||
36 | <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> | 34 | <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> |
37 | <script type='text/javascript' src='../../../../js/Clipperz/YUI/DomHelper.js'></script> | 35 | <script type='text/javascript' src='../../../../js/Clipperz/YUI/DomHelper.js'></script> |
38 | <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> | 36 | <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> |
39 | <script type='text/javascript' src='../../../../js/Clipperz/Logging.js'></script> | 37 | <script type='text/javascript' src='../../../../js/Clipperz/Logging.js'></script> |
40 | <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script> | 38 | <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script> |
41 | 39 | ||
42 | <script type='text/javascript' src='../../../../js/Clipperz/Crypto/SHA.js'></script> | 40 | <script type='text/javascript' src='../../../../js/Clipperz/Crypto/SHA.js'></script> |
43 | <script type='text/javascript' src='../../../../js/Clipperz/Crypto/AES.js'></script> | 41 | <script type='text/javascript' src='../../../../js/Clipperz/Crypto/AES.js'></script> |
44 | <script type='text/javascript' src='../../../../js/Clipperz/Crypto/PRNG.js'></script> | 42 | <script type='text/javascript' src='../../../../js/Clipperz/Crypto/PRNG.js'></script> |
45 | 43 | ||
46 | </head> | 44 | </head> |
47 | <body> | 45 | <body> |
48 | <pre id="test"> | 46 | <pre id="test"> |
49 | <script type="text/javascript"> | 47 | <script type="text/javascript"> |
50 | Clipperz.Crypto.PRNG.defaultRandomGenerator().fastEntropyAccumulationForTestingPurpose(); | 48 | Clipperz.Crypto.PRNG.defaultRandomGenerator().fastEntropyAccumulationForTestingPurpose(); |
51 | 49 | ||
52 | MochiKit.Base.update(Clipperz, { | 50 | MochiKit.Base.update(Clipperz, { |
53 | 'PM': { | 51 | 'PM': { |
54 | 'Crypto': { | 52 | 'Crypto': { |
55 | 'passwordEntropy': function(aValue) { | 53 | 'passwordEntropy': function(aValue) { |
56 | var result; | 54 | var result; |
57 | varbitPerChar; | 55 | varbitPerChar; |
58 | 56 | ||
59 | bitPerChar = 4; | 57 | bitPerChar = 4; |
60 | if (/[a-z]/.test(aValue)) { | 58 | if (/[a-z]/.test(aValue)) { |
61 | bitPerChar ++; | 59 | bitPerChar ++; |
62 | } | 60 | } |
63 | if (/[A-Z]/.test(aValue)) { | 61 | if (/[A-Z]/.test(aValue)) { |
64 | bitPerChar ++; | 62 | bitPerChar ++; |
65 | } | 63 | } |
66 | if (/[^a-zA-Z0-9]/.test(aValue)) { | 64 | if (/[^a-zA-Z0-9]/.test(aValue)) { |
67 | bitPerChar ++; | 65 | bitPerChar ++; |
68 | } | 66 | } |
69 | //MochiKit.Logging.logDebug("--- bitPerChar: " + bitPerChar); | 67 | //MochiKit.Logging.logDebug("--- bitPerChar: " + bitPerChar); |
70 | 68 | ||
71 | result = aValue.length * bitPerChar; | 69 | result = aValue.length * bitPerChar; |
72 | 70 | ||
73 | return result; | 71 | return result; |
74 | } | 72 | } |
75 | } | 73 | } |
76 | } | 74 | } |
77 | }) | 75 | }) |
78 | 76 | ||
79 | try { | 77 | try { |
80 | var keyValue; | 78 | var keyValue; |
81 | var keyEntropy; | 79 | var keyEntropy; |
82 | varkey; | 80 | varkey; |
83 | var plainText; | 81 | var plainText; |
84 | var cypherText; | 82 | var cypherText; |
85 | var randomBytes; | 83 | var randomBytes; |
86 | var hashedValue; | 84 | var hashedValue; |
87 | 85 | ||
88 | key = Clipperz.Crypto.SHA.sha256(new Clipperz.ByteArray("This is my long and complex passphrase")); | 86 | key = Clipperz.Crypto.SHA.sha256(new Clipperz.ByteArray("This is my long and complex passphrase")); |
89 | keyEntropy = Clipperz.PM.Crypto.passwordEntropy(key); | 87 | keyEntropy = Clipperz.PM.Crypto.passwordEntropy(key); |
90 | 88 | ||
91 | cypherText = Clipperz.Crypto.AES.encrypt(key, new Clipperz.ByteArray("some text to encrypt")); | 89 | cypherText = Clipperz.Crypto.AES.encrypt(key, new Clipperz.ByteArray("some text to encrypt")); |
92 | plainText = Clipperz.Crypto.AES.decrypt(key, cypherText).asString(); | 90 | plainText = Clipperz.Crypto.AES.decrypt(key, cypherText).asString(); |
93 | is(plainText, "some text to encrypt"); | 91 | is(plainText, "some text to encrypt"); |
94 | 92 | ||
95 | randomBytes = Clipperz.Crypto.PRNG.defaultRandomGenerator().getRandomBytes(256/8); | 93 | randomBytes = Clipperz.Crypto.PRNG.defaultRandomGenerator().getRandomBytes(256/8); |
96 | hashedValue = Clipperz.Crypto.SHA.sha256(new Clipperz.ByteArray("text to hash")); | 94 | hashedValue = Clipperz.Crypto.SHA.sha256(new Clipperz.ByteArray("text to hash")); |
97 | 95 | ||
98 | //############################################################################# | 96 | //############################################################################# |
99 | 97 | ||
100 | } catch (err) { | 98 | } catch (err) { |
101 | 99 | ||
102 | var s = "test suite failure!\n"; | 100 | var s = "test suite failure!\n"; |
103 | var o = {}; | 101 | var o = {}; |
104 | var k = null; | 102 | var k = null; |
105 | for (k in err) { | 103 | for (k in err) { |
106 | // ensure unique keys?! | 104 | // ensure unique keys?! |
107 | if (!o[k]) { | 105 | if (!o[k]) { |
108 | s += k + ": " + err[k] + "\n"; | 106 | s += k + ": " + err[k] + "\n"; |
109 | o[k] = err[k]; | 107 | o[k] = err[k]; |
110 | } | 108 | } |
111 | } | 109 | } |
112 | ok ( false, s ); | 110 | ok ( false, s ); |
113 | } | 111 | } |
114 | 112 | ||
115 | </script> | 113 | </script> |
116 | </pre> | 114 | </pre> |
117 | </body> | 115 | </body> |
118 | </html> | 116 | </html> |