Changeset a63bfea


Ignore:
Timestamp:
Aug 10, 2014 3:48:18 PM (6 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
367cea4
Parents:
41672dde
Message:

fix SKM test broken by TSKM move

Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • core/java/test/junit/net/i2p/crypto/CryptoTestSuite.java

    r41672dde ra63bfea  
    2929        suite.addTestSuite(HMACSHA256Test.class);
    3030        suite.addTestSuite(KeyGeneratorTest.class);
    31         suite.addTestSuite(SessionEncryptionTest.class);
    3231        suite.addTestSuite(SHA1HashTest.class);
    3332        suite.addTestSuite(SHA256Test.class);
  • router/java/test/junit/net/i2p/router/crypto/SessionEncryptionTest.java

    r41672dde ra63bfea  
    1 package net.i2p.crypto;
     1package net.i2p.router.crypto;
    22/*
    33 * free (adj.): unencumbered; not under the control of others
     
    1414import junit.framework.TestCase;
    1515import net.i2p.I2PAppContext;
     16import net.i2p.crypto.KeyGenerator;
     17import net.i2p.crypto.SessionKeyManager;
     18import net.i2p.crypto.TagSetHandle;
    1619import net.i2p.data.DataHelper;
    1720import net.i2p.data.PrivateKey;
     
    2629 */
    2730public class SessionEncryptionTest extends TestCase{
    28     private static I2PAppContext _context = I2PAppContext.getGlobalContext();
     31    private I2PAppContext _context;
    2932   
    3033    protected void setUp(){
    31         _context = new I2PAppContext();
     34        _context = I2PAppContext.getGlobalContext();
    3235    }
    3336   
     
    4144        PublicKey pubKey = (PublicKey)keys[0];
    4245        PrivateKey privKey = (PrivateKey)keys[1];
    43         SessionKey curKey = _context.sessionKeyManager().createSession(pubKey);
     46        SessionKeyManager skm = new TransientSessionKeyManager(_context);
     47        SessionKey curKey = skm.createSession(pubKey);
    4448       
    4549        byte[] msg = "msg 1".getBytes();
    4650       
    4751        byte emsg[] = _context.elGamalAESEngine().encrypt(msg, pubKey, curKey, 64);
    48         byte dmsg[] = _context.elGamalAESEngine().decrypt(emsg, privKey);
     52        byte dmsg[] = _context.elGamalAESEngine().decrypt(emsg, privKey, skm);
    4953        assertTrue(DataHelper.eq(dmsg, msg));
    5054    }
     
    5458        PublicKey pubKey = (PublicKey)keys[0];
    5559        PrivateKey privKey = (PrivateKey)keys[1];
    56         SessionKey curKey = _context.sessionKeyManager().createSession(pubKey);
     60        SessionKeyManager skm = new TransientSessionKeyManager(_context);
     61        SessionKey curKey = skm.createSession(pubKey);
    5762       
    5863        byte[] msg = "msg 2".getBytes();
    5964       
    6065        byte emsg[] = _context.elGamalAESEngine().encrypt(msg, pubKey, curKey, 64);
    61         byte dmsg[] = _context.elGamalAESEngine().decrypt(emsg, privKey);
     66        byte dmsg[] = _context.elGamalAESEngine().decrypt(emsg, privKey, skm);
    6267        assertTrue(DataHelper.eq(dmsg, msg));
    6368    }
     
    7580        PublicKey pubKey = (PublicKey)keys[0];
    7681        PrivateKey privKey = (PrivateKey)keys[1];
    77         SessionKey curKey = _context.sessionKeyManager().createSession(pubKey);
     82        SessionKeyManager skm = new TransientSessionKeyManager(_context);
     83        SessionKey curKey = skm.createSession(pubKey);
    7884       
    7985        SessionTag tag1 = new SessionTag(true);
     
    98104        byte emsg1[] = _context.elGamalAESEngine().encrypt(msg1, pubKey, curKey, firstTags, 64);
    99105       
    100         byte dmsg1[] = _context.elGamalAESEngine().decrypt(emsg1, privKey);
     106        byte dmsg1[] = _context.elGamalAESEngine().decrypt(emsg1, privKey, skm);
    101107        assertTrue(DataHelper.eq(dmsg1, msg1));
    102108       
    103109       
    104110       
    105         TagSetHandle tsh = _context.sessionKeyManager().tagsDelivered(pubKey, curKey, firstTags);
    106         _context.sessionKeyManager().tagsAcked(pubKey, curKey, tsh);
    107        
    108         curKey = _context.sessionKeyManager().getCurrentKey(pubKey);
    109         SessionTag curTag = _context.sessionKeyManager().consumeNextAvailableTag(pubKey, curKey);
     111        TagSetHandle tsh = skm.tagsDelivered(pubKey, curKey, firstTags);
     112        skm.tagsAcked(pubKey, curKey, tsh);
     113       
     114        curKey = skm.getCurrentKey(pubKey);
     115        SessionTag curTag = skm.consumeNextAvailableTag(pubKey, curKey);
    110116       
    111117        assertNotNull(curTag);
     
    113119        byte emsg2[] = _context.elGamalAESEngine().encrypt(msg2, pubKey, curKey, null, curTag, 64);
    114120       
    115         byte dmsg2[] = _context.elGamalAESEngine().decrypt(emsg2, privKey);
     121        byte dmsg2[] = _context.elGamalAESEngine().decrypt(emsg2, privKey, skm);
    116122        assertTrue(DataHelper.eq(dmsg2, msg2));
    117123       
     
    119125       
    120126       
    121         curKey = _context.sessionKeyManager().getCurrentKey(pubKey);
    122         curTag = _context.sessionKeyManager().consumeNextAvailableTag(pubKey, curKey);
     127        curKey = skm.getCurrentKey(pubKey);
     128        curTag = skm.consumeNextAvailableTag(pubKey, curKey);
    123129       
    124130        assertNotNull(curTag);
     
    127133        byte emsg3[] = _context.elGamalAESEngine().encrypt(msg3, pubKey, curKey, secondTags, curTag, 64);
    128134       
    129         byte dmsg3[] = _context.elGamalAESEngine().decrypt(emsg3, privKey);
     135        byte dmsg3[] = _context.elGamalAESEngine().decrypt(emsg3, privKey, skm);
    130136        assertTrue(DataHelper.eq(dmsg3, msg3));
    131137       
    132138       
    133139       
    134         tsh = _context.sessionKeyManager().tagsDelivered(pubKey, curKey, secondTags);
    135         _context.sessionKeyManager().tagsAcked(pubKey, curKey, tsh);
    136        
    137         curKey = _context.sessionKeyManager().getCurrentKey(pubKey);
    138         curTag = _context.sessionKeyManager().consumeNextAvailableTag(pubKey, curKey);
     140        tsh = skm.tagsDelivered(pubKey, curKey, secondTags);
     141        skm.tagsAcked(pubKey, curKey, tsh);
     142       
     143        curKey = skm.getCurrentKey(pubKey);
     144        curTag = skm.consumeNextAvailableTag(pubKey, curKey);
    139145       
    140146        assertNotNull(curTag);
     
    143149        byte emsg4[] = _context.elGamalAESEngine().encrypt(msg4, pubKey, curKey, null, curTag, 64);
    144150       
    145         byte dmsg4[] = _context.elGamalAESEngine().decrypt(emsg4, privKey);
     151        byte dmsg4[] = _context.elGamalAESEngine().decrypt(emsg4, privKey, skm);
    146152        assertTrue(DataHelper.eq(dmsg4, msg4));
    147153       
    148154       
    149         curKey = _context.sessionKeyManager().getCurrentKey(pubKey);
    150         curTag = _context.sessionKeyManager().consumeNextAvailableTag(pubKey, curKey);
     155        curKey = skm.getCurrentKey(pubKey);
     156        curTag = skm.consumeNextAvailableTag(pubKey, curKey);
    151157       
    152158        assertNotNull(curTag);
     
    155161        byte emsg5[] = _context.elGamalAESEngine().encrypt(msg5, pubKey, curKey, null, curTag, 64);
    156162       
    157         byte dmsg5[] = _context.elGamalAESEngine().decrypt(emsg5, privKey);
     163        byte dmsg5[] = _context.elGamalAESEngine().decrypt(emsg5, privKey, skm);
    158164        assertTrue(DataHelper.eq(dmsg5, msg5));
    159165       
     
    173179        PublicKey pubKey = (PublicKey)keys[0];
    174180        PrivateKey privKey = (PrivateKey)keys[1];
    175         SessionKey curKey = _context.sessionKeyManager().createSession(pubKey);
     181        SessionKeyManager skm = new TransientSessionKeyManager(_context);
     182        SessionKey curKey = skm.createSession(pubKey);
    176183        SessionKey nextKey = KeyGenerator.getInstance().generateSessionKey();
    177184       
     
    197204        byte emsg1[] = _context.elGamalAESEngine().encrypt(msg1, pubKey, curKey, firstTags, 64);
    198205       
    199         byte dmsg1[] = _context.elGamalAESEngine().decrypt(emsg1, privKey);
     206        byte dmsg1[] = _context.elGamalAESEngine().decrypt(emsg1, privKey, skm);
    200207        assertTrue(DataHelper.eq(dmsg1, msg1));
    201208       
    202209       
    203210       
    204         TagSetHandle tsh = _context.sessionKeyManager().tagsDelivered(pubKey, curKey, firstTags);
    205         _context.sessionKeyManager().tagsAcked(pubKey, curKey, tsh);
    206        
    207         curKey = _context.sessionKeyManager().getCurrentKey(pubKey);
    208         SessionTag curTag = _context.sessionKeyManager().consumeNextAvailableTag(pubKey, curKey);
     211        TagSetHandle tsh = skm.tagsDelivered(pubKey, curKey, firstTags);
     212        skm.tagsAcked(pubKey, curKey, tsh);
     213       
     214        curKey = skm.getCurrentKey(pubKey);
     215        SessionTag curTag = skm.consumeNextAvailableTag(pubKey, curKey);
    209216       
    210217        assertNotNull(curTag);
     
    212219        byte emsg2[] = _context.elGamalAESEngine().encrypt(msg2, pubKey, curKey, null, curTag, 64);
    213220       
    214         byte dmsg2[] = _context.elGamalAESEngine().decrypt(emsg2, privKey);
     221        byte dmsg2[] = _context.elGamalAESEngine().decrypt(emsg2, privKey, skm);
    215222        assertTrue(DataHelper.eq(dmsg2, msg2));
    216223       
    217224       
    218225       
    219         curKey = _context.sessionKeyManager().getCurrentKey(pubKey);
    220         curTag = _context.sessionKeyManager().consumeNextAvailableTag(pubKey, curKey);
     226        curKey = skm.getCurrentKey(pubKey);
     227        curTag = skm.consumeNextAvailableTag(pubKey, curKey);
    221228       
    222229        assertNotNull(curTag);
     
    225232        byte emsg3[] = _context.elGamalAESEngine().encrypt(msg3, pubKey, curKey, secondTags, curTag, nextKey, 64);
    226233       
    227         byte dmsg3[] = _context.elGamalAESEngine().decrypt(emsg3, privKey);
     234        byte dmsg3[] = _context.elGamalAESEngine().decrypt(emsg3, privKey, skm);
    228235        assertTrue(DataHelper.eq(dmsg3, msg3));
    229236       
    230237       
    231238       
    232         tsh = _context.sessionKeyManager().tagsDelivered(pubKey, nextKey, secondTags); // note nextKey not curKey
    233         _context.sessionKeyManager().tagsAcked(pubKey, nextKey, tsh);
    234        
    235         curKey = _context.sessionKeyManager().getCurrentKey(pubKey);
    236         curTag = _context.sessionKeyManager().consumeNextAvailableTag(pubKey, curKey);
     239        tsh = skm.tagsDelivered(pubKey, nextKey, secondTags); // note nextKey not curKey
     240        skm.tagsAcked(pubKey, nextKey, tsh);
     241       
     242        curKey = skm.getCurrentKey(pubKey);
     243        curTag = skm.consumeNextAvailableTag(pubKey, curKey);
    237244       
    238245        assertNotNull(curTag);
     
    241248        byte emsg4[] = _context.elGamalAESEngine().encrypt(msg4, pubKey, curKey, null, curTag, 64);
    242249       
    243         byte dmsg4[] = _context.elGamalAESEngine().decrypt(emsg4, privKey);
     250        byte dmsg4[] = _context.elGamalAESEngine().decrypt(emsg4, privKey, skm);
    244251        assertTrue(DataHelper.eq(dmsg4, msg4));
    245252       
    246253       
    247254       
    248         curKey = _context.sessionKeyManager().getCurrentKey(pubKey);
    249         curTag = _context.sessionKeyManager().consumeNextAvailableTag(pubKey, curKey);
     255        curKey = skm.getCurrentKey(pubKey);
     256        curTag = skm.consumeNextAvailableTag(pubKey, curKey);
    250257       
    251258        assertNotNull(curTag);
     
    254261        byte emsg5[] = _context.elGamalAESEngine().encrypt(msg5, pubKey, curKey, null, curTag, 64);
    255262       
    256         byte dmsg5[] = _context.elGamalAESEngine().decrypt(emsg5, privKey);
     263        byte dmsg5[] = _context.elGamalAESEngine().decrypt(emsg5, privKey, skm);
    257264        assertTrue(DataHelper.eq(dmsg5, msg5));
    258265       
     
    269276        PublicKey pubKey = (PublicKey)keys[0];
    270277        PrivateKey privKey = (PrivateKey)keys[1];
    271         SessionKey curKey = _context.sessionKeyManager().createSession(pubKey);
     278        SessionKeyManager skm = new TransientSessionKeyManager(_context);
     279        SessionKey curKey = skm.createSession(pubKey);
    272280       
    273281        for (int i = 0; i < 1000; i++) {
    274282            Set<SessionTag> tags = null;
    275283            SessionKey nextKey = null;
    276             curKey = _context.sessionKeyManager().getCurrentKey(pubKey);
    277             SessionTag curTag = _context.sessionKeyManager().consumeNextAvailableTag(pubKey, curKey);
    278            
    279             int availTags = _context.sessionKeyManager().getAvailableTags(pubKey, curKey);
     284            curKey = skm.getCurrentKey(pubKey);
     285            SessionTag curTag = skm.consumeNextAvailableTag(pubKey, curKey);
     286           
     287            int availTags = skm.getAvailableTags(pubKey, curKey);
    280288            if ((availTags < 1)) {
    281289                tags = generateNewTags(50);
     
    288296            byte emsg[] = _context.elGamalAESEngine().encrypt(msg, pubKey, curKey, tags, curTag, nextKey, 64);
    289297           
    290             byte dmsg[] = _context.elGamalAESEngine().decrypt(emsg, privKey);
     298            byte dmsg[] = _context.elGamalAESEngine().decrypt(emsg, privKey, skm);
    291299            assertTrue(DataHelper.eq(dmsg, msg));
    292300           
    293301            if ( (tags != null) && (tags.size() > 0) ) {
    294302                if (nextKey == null) {
    295                     TagSetHandle tsh = _context.sessionKeyManager().tagsDelivered(pubKey, curKey, tags);
    296                     _context.sessionKeyManager().tagsAcked(pubKey, curKey, tsh);
     303                    TagSetHandle tsh = skm.tagsDelivered(pubKey, curKey, tags);
     304                    skm.tagsAcked(pubKey, curKey, tsh);
    297305                } else {
    298                     TagSetHandle tsh = _context.sessionKeyManager().tagsDelivered(pubKey, nextKey, tags);
    299                     _context.sessionKeyManager().tagsAcked(pubKey, nextKey, tsh);
     306                    TagSetHandle tsh = skm.tagsDelivered(pubKey, nextKey, tags);
     307                    skm.tagsAcked(pubKey, nextKey, tsh);
    300308                }
    301309            }
Note: See TracChangeset for help on using the changeset viewer.