Edit C:\Program Files\Java\jre1.8.0_121\lib\ext\com\sun\crypto\provider\KeyProtector.class
?? 4 T ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ( ? ? ? ? ? ? ? ? ? ? ? 1 ? 1 ? ? ? ? ? ? 7 ? ? ? ? ? ; ? ? = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? G ? ? ? J ? J ? J ? ? ? J ? ? ? R ? ? PBE_WITH_MD5_AND_DES3_CBC_OID Ljava/lang/String; ConstantValue KEY_PROTECTOR_OID SALT_LEN I DIGEST_LEN password [C <init> ([C)V Code LineNumberTable StackMapTable ? ^ protect (Ljava/security/PrivateKey;)[B Exceptions ? recover F(Lcom/sun/crypto/provider/EncryptedPrivateKeyInfo;)Ljava/security/Key; ? ? ? ? ? ? ([B)[B ? seal 0(Ljava/security/Key;)Ljavax/crypto/SealedObject; unseal 0(Ljavax/crypto/SealedObject;)Ljava/security/Key; ? ? ? ? ? ? SourceFile KeyProtector.java _ ? "java/lang/IllegalArgumentException password can't be null _ ? ] ^ ? ? ? ? ? ? "javax/crypto/spec/PBEParameterSpec _ ? javax/crypto/spec/PBEKeySpec _ ` com/sun/crypto/provider/PBEKey PBEWithMD5AndTripleDES _ ? ? ? 4com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher javax/crypto/Cipher ? ? ? ? ? ? ? PBE ? ? ? ? ? ? ? sun/security/x509/AlgorithmId "sun/security/util/ObjectIdentifier $com/sun/crypto/provider/KeyProtector 1.3.6.1.4.1.42.2.19.1 _ ? /com/sun/crypto/provider/EncryptedPrivateKeyInfo _ ? ? ? ? ? ? ? ? ? ? 1.3.6.1.4.1.42.2.17.1.1 'java/security/UnrecoverableKeyException Unsupported encryption algorithm ? ? j r ? ? ? ? ? ? &com/sun/crypto/provider/PrivateKeyInfo _ ? _ ? ? &java/security/spec/PKCS8EncodedKeySpec &java/security/NoSuchAlgorithmException java/io/IOException ? &java/security/GeneralSecurityException SHA ? ? ? ? ? Cannot recover key -com/sun/crypto/provider/CipherForKeyProtector _ ? 3com/sun/crypto/provider/SealedObjectForKeyProtector _ _ Cannot get algorithm parameters ? java/security/Key java/lang/ClassNotFoundException java/lang/Object java/lang/Exception java/lang/String [B java/security/MessageDigest javax/crypto/SecretKey !java/security/AlgorithmParameters javax/crypto/SealedObject ()V (Ljava/lang/String;)V com/sun/crypto/provider/SunJCE getRandom ()Ljava/security/SecureRandom; java/security/SecureRandom nextBytes ([B)V ([BI)V 3(Ljavax/crypto/spec/PBEKeySpec;Ljava/lang/String;)V clearPassword engineInit ^(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V java/security/PrivateKey getEncoded ()[B engineDoFinal ([BII)[B getInstance "()Lcom/sun/crypto/provider/SunJCE; O(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/AlgorithmParameters; init .(Ljava/security/spec/AlgorithmParameterSpec;)V J(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)V $(Lsun/security/x509/AlgorithmId;[B)V getAlgorithm !()Lsun/security/x509/AlgorithmId; getOID &()Lsun/security/util/ObjectIdentifier; toString ()Ljava/lang/String; equals (Ljava/lang/Object;)Z getEncryptedData getEncodedParams 7(Ljava/lang/String;)Ljava/security/AlgorithmParameters; getParameterSpec >(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec; '(Lsun/security/util/ObjectIdentifier;)V getName java/security/KeyFactory .(Ljava/lang/String;)Ljava/security/KeyFactory; generatePrivate 8(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey; getMessage 1(Ljava/lang/String;)Ljava/security/MessageDigest; java/lang/System arraycopy *(Ljava/lang/Object;ILjava/lang/Object;II)V update digest reset java/util/Arrays fill ([BB)V E(Ljavax/crypto/CipherSpi;Ljava/security/Provider;Ljava/lang/String;)V B(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V .(Ljava/io/Serializable;Ljavax/crypto/Cipher;)V (Ljavax/crypto/SealedObject;)V getParameters %()Ljava/security/AlgorithmParameters; :(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V getObject )(Ljavax/crypto/Cipher;)Ljava/lang/Object; 0 T U V W X V W ' Y Z W [ \ Z W [ ] ^ _ ` a U *? +? ? Y? ?*+? ? b T U V X Y c ? d e f g a ? ??M? ,? ? Y,? N? Y*? ? :? Y ? :? ? Y? :-? +? :? :? ? : -? ? Y? Y? ? : ? Y ? !? "? b >