@@ -197,6 +197,12 @@ describe('.fromV3()', function () {
197
197
this . timeout ( 180000 ) // 3minutes
198
198
assert . equal ( wallet . getAddressString ( ) , '0xa9886ac7489ecbcbd79268a79ef00d940e5fe1f2' )
199
199
} )
200
+ it ( 'should fail with invalid password' , function ( ) {
201
+ var w = '{"crypto":{"cipher":"aes-128-ctr","cipherparams":{"iv":"6087dab2f9fdbbfaddc31a909735c1e6"},"ciphertext":"5318b4d5bcd28de64ee5559e671353e16f075ecae9f99c7a79a38af5f869aa46","kdf":"pbkdf2","kdfparams":{"c":262144,"dklen":32,"prf":"hmac-sha256","salt":"ae3cd4e7013836a3df6bd7241b12db061dbe2c6785853cce422d148a624ce0bd"},"mac":"517ead924a9d0dc3124507e3393d175ce3ff7c1e96529c6c555ce9e51205e9b2"},"id":"3198bc9c-6672-5ab3-d995-4942343ae5b6","version":3}'
202
+ assert . throws ( function ( ) {
203
+ Wallet . fromV3 ( w , 'wrongtestpassword' )
204
+ } , / ^ E r r o r : K e y d e r i v a t i o n f a i l e d - p o s s i b l y w r o n g p a s s p h r a s e $ / )
205
+ } )
200
206
it ( 'should work with (broken) mixed-case input files' , function ( ) {
201
207
var w = '{"Crypto":{"cipher":"aes-128-ctr","cipherparams":{"iv":"6087dab2f9fdbbfaddc31a909735c1e6"},"ciphertext":"5318b4d5bcd28de64ee5559e671353e16f075ecae9f99c7a79a38af5f869aa46","kdf":"pbkdf2","kdfparams":{"c":262144,"dklen":32,"prf":"hmac-sha256","salt":"ae3cd4e7013836a3df6bd7241b12db061dbe2c6785853cce422d148a624ce0bd"},"mac":"517ead924a9d0dc3124507e3393d175ce3ff7c1e96529c6c555ce9e51205e9b2"},"id":"3198bc9c-6672-5ab3-d995-4942343ae5b6","version":3}'
202
208
var wallet = Wallet . fromV3 ( w , 'testpassword' , true )
@@ -215,11 +221,17 @@ describe('.fromV3()', function () {
215
221
} , / ^ E r r o r : N o t a V 3 w a l l e t $ / )
216
222
} )
217
223
it ( 'should fail for wrong kdf' , function ( ) {
218
- var w = '{"Crypto ":{"kdf":"superkey"},"version":3}'
224
+ var w = '{"crypto ":{"kdf":"superkey"},"version":3}'
219
225
assert . throws ( function ( ) {
220
- Wallet . fromV3 ( w , 'testpassword' , true )
226
+ Wallet . fromV3 ( w , 'testpassword' )
221
227
} , / ^ E r r o r : U n s u p p o r t e d k e y d e r i v a t i o n s c h e m e $ / )
222
228
} )
229
+ it ( 'should fail for wrong prf in pbkdf2' , function ( ) {
230
+ var w = '{"crypto":{"kdf":"pbkdf2","kdfparams":{"prf":"invalid"}},"version":3}'
231
+ assert . throws ( function ( ) {
232
+ Wallet . fromV3 ( w , 'testpassword' )
233
+ } , / ^ E r r o r : U n s u p p o r t e d p a r a m e t e r s t o P B K D F 2 $ / )
234
+ } )
223
235
} )
224
236
225
237
describe ( '.fromEthSale()' , function ( ) {
0 commit comments