mySpi.engineInit(keysize, random); initType = I_SIZE; initKeySize = keysize; initParams = null; initRandom = random; return; } catch (RuntimeException e) { if (failure == null) { failure = e; } mySpi = nextSpi(mySpi, false); } } while (mySpi != null); throw failure; } /** * Generates a secret key. * * @return the new key */ public final SecretKey generateKey() { if (serviceIterator == null) { return spi.engineGenerateKey(); } RuntimeException failure = null; KeyGeneratorSpi mySpi = spi; do { try { return mySpi.engineGenerateKey(); } catch (RuntimeException e) { if (failure == null) { failure = e; } mySpi = nextSpi(mySpi, true); } } while (mySpi != null); throw failure; }}Lines 501–540 of 540. Previous lines
mySpi.engineInit(keysize, random); initType = I_SIZE; initKeySize = keysize; initParams = null; initRandom = random; return; } catch (RuntimeException e) { if (failure == null) { failure = e; } mySpi = nextSpi(mySpi, false); } } while (mySpi != null); throw failure; } /** * Generates a secret key. * * @return the new key */ public final SecretKey generateKey() { if (serviceIterator == null) { return spi.engineGenerateKey(); } RuntimeException failure = null; KeyGeneratorSpi mySpi = spi; do { try { return mySpi.engineGenerateKey(); } catch (RuntimeException e) { if (failure == null) { failure = e; } mySpi = nextSpi(mySpi, true); } } while (mySpi != null); throw failure; } }