You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
'use strict';
 | 
						|
 | 
						|
describe('Protocol Wrapper', function() {
 | 
						|
    var store = textsecure.storage.protocol;
 | 
						|
    var identifier = '+5558675309';
 | 
						|
    var another_identifier = '+5555590210';
 | 
						|
    var prekeys, identityKey, testKey;
 | 
						|
    this.timeout(5000);
 | 
						|
    before(function(done) {
 | 
						|
        localStorage.clear();
 | 
						|
        libsignal.KeyHelper.generateIdentityKeyPair().then(function(identityKey) {
 | 
						|
            return textsecure.storage.protocol.saveIdentity(identifier, identityKey);
 | 
						|
            }).then(function() {
 | 
						|
              done();
 | 
						|
            });
 | 
						|
    });
 | 
						|
    describe('processPreKey', function() {
 | 
						|
        it('rejects if the identity key changes', function(done) {
 | 
						|
            var address = new libsignal.SignalProtocolAddress(identifier, 1);
 | 
						|
            var builder = new libsignal.SessionBuilder(store, address);
 | 
						|
            return builder.processPreKey({
 | 
						|
                identityKey: textsecure.crypto.getRandomBytes(33),
 | 
						|
                encodedNumber: address.toString()
 | 
						|
            }).then(function() {
 | 
						|
                done(new Error('Allowed to overwrite identity key'));
 | 
						|
            }).catch(function(e) {
 | 
						|
                assert.strictEqual(e.message, 'Identity key changed');
 | 
						|
                done();
 | 
						|
            });
 | 
						|
        });
 | 
						|
    });
 | 
						|
});
 |