Пример #1
0
 SecretKey engineGenerateKey0(boolean tls12) {
   if (spec == null) {
     throw new IllegalStateException("TlsPrfGenerator must be initialized");
   }
   SecretKey key = spec.getSecret();
   byte[] secret = (key == null) ? null : key.getEncoded();
   try {
     byte[] labelBytes = spec.getLabel().getBytes("UTF8");
     int n = spec.getOutputLength();
     byte[] prfBytes =
         (tls12
             ? doTLS12PRF(
                 secret,
                 labelBytes,
                 spec.getSeed(),
                 n,
                 spec.getPRFHashAlg(),
                 spec.getPRFHashLength(),
                 spec.getPRFBlockSize())
             : doTLS10PRF(secret, labelBytes, spec.getSeed(), n));
     return new SecretKeySpec(prfBytes, "TlsPrf");
   } catch (GeneralSecurityException e) {
     throw new ProviderException("Could not generate PRF", e);
   } catch (j86.java.io.UnsupportedEncodingException e) {
     throw new ProviderException("Could not generate PRF", e);
   }
 }
Пример #2
0
 protected void engineInit(AlgorithmParameterSpec params, SecureRandom random)
     throws InvalidAlgorithmParameterException {
   if (params instanceof TlsPrfParameterSpec == false) {
     throw new InvalidAlgorithmParameterException(MSG);
   }
   this.spec = (TlsPrfParameterSpec) params;
   SecretKey key = spec.getSecret();
   if ((key != null) && ("RAW".equals(key.getFormat()) == false)) {
     throw new InvalidAlgorithmParameterException("Key encoding format must be RAW");
   }
 }