Edit C:\Program Files\Java\jre1.8.0_121\lib\ext\com\sun\crypto\provider\TlsPrfGenerator.class
?? 4 ? ? ? ? V O ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $ ? ? ? ? ( ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 7 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? V10 InnerClasses ? V12 B0 [B LABEL_MASTER_SECRET LABEL_KEY_EXPANSION LABEL_CLIENT_WRITE_KEY LABEL_SERVER_WRITE_KEY LABEL_IV_BLOCK HMAC_ipad64 HMAC_ipad128 HMAC_opad64 HMAC_opad128 SSL3_CONST [[B MSG Ljava/lang/String; ConstantValue spec 0Lsun/security/internal/spec/TlsPrfParameterSpec; genPad (BI)[B Code LineNumberTable concat ([B[B)[B genConst ()[[B StackMapTable a <init> ()V engineInit (Ljava/security/SecureRandom;)V J(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V ? Exceptions (ILjava/security/SecureRandom;)V engineGenerateKey0 (Z)Ljavax/crypto/SecretKey; ? ? ? doTLS12PRF ([B[B[BILjava/lang/String;II)[B *([B[B[BILjava/security/MessageDigest;II)[B doTLS10PRF ([B[B[BI)[B E([B[B[BILjava/security/MessageDigest;Ljava/security/MessageDigest;)[B ? expand /(Ljava/security/MessageDigest;I[BII[B[B[B[B[B)V <clinit> SourceFile TlsPrfGenerator.java ? ? ? ? ? ? q r 'java/security/InvalidParameterException 'com/sun/crypto/provider/TlsPrfGenerator ?TlsPrfGenerator must be initialized using a TlsPrfParameterSpec q ? .sun/security/internal/spec/TlsPrfParameterSpec 0java/security/InvalidAlgorithmParameterException e f ? ? RAW ? ? ? ? ? ? Key encoding format must be RAW java/lang/IllegalStateException #TlsPrfGenerator must be initialized ? ? ? ? UTF8 ? ? ? ? ? ? ? ? ? ? ? ? ~ ? ? javax/crypto/spec/SecretKeySpec TlsPrf q ? &java/security/GeneralSecurityException java/security/ProviderException Could not generate PRF q ? $java/io/UnsupportedEncodingException &java/security/NoSuchAlgorithmException Unspecified PRF algorithm ? ? ? ~ ? U V ? ? \ V V ? ? ^ V V ] V V _ V V java/security/DigestException Unexpected block size. ? ? MD5 SHA1 ? ? ? ? V V V V ? W V X V Y V Z V [ V g h m n ` a javax/crypto/KeyGeneratorSpi +com/sun/crypto/provider/TlsPrfGenerator$V10 +com/sun/crypto/provider/TlsPrfGenerator$V12 javax/crypto/SecretKey java/security/MessageDigest java/util/Arrays fill ([BB)V java/lang/System arraycopy *(Ljava/lang/Object;ILjava/lang/Object;II)V (Ljava/lang/String;)V getSecret ()Ljavax/crypto/SecretKey; getFormat ()Ljava/lang/String; java/lang/String equals (Ljava/lang/Object;)Z getEncoded ()[B getLabel getBytes (Ljava/lang/String;)[B getOutputLength ()I getSeed getPRFHashAlg getPRFHashLength getPRFBlockSize ([BLjava/lang/String;)V *(Ljava/lang/String;Ljava/lang/Throwable;)V getInstance 1(Ljava/lang/String;)Ljava/security/MessageDigest; digest ([B)[B clone ()Ljava/lang/Object; update ([BII)V ([B)V ([BII)I java/lang/Math min (II)I O U V W V X V Y V Z V [ V \ V ] V ^ V _ V ` a b c d e f g h i + ?M,? ,? j U V W k l i N "*?=+?>`?:*? +? ? j [ \ ] ^ _ ` m n i q * ;? L=? `?N-A`? +-S???+? j "