META-INF.modules.java.base.classes.java.util.jar.JarVerifier.class Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java.base Show documentation
Show all versions of java.base Show documentation
Bytecoder java.base Module
???? :j
java/lang/Object ()V
java/util/jar/JarVerifier parsingBlockOrSF Z parsingMeta anyToVerify manifestRawBytes [B csdomain Ljava/lang/Object; java/util/HashMap
! urlToCodeSourceMap Ljava/util/Map; # $ ! signerToCodeSource & java/security/CodeSigner ( ) * emptySigner [Ljava/security/CodeSigner; , java/util/Hashtable
+ / 0 1 sigFileSigners Ljava/util/Hashtable; 3 4 1 verifiedSigners
+ 6 7 (I)V 9 : 1 sigFileData < java/util/ArrayList
; ? @ A
pendingBlocks Ljava/util/ArrayList; C java/io/ByteArrayOutputStream
B F G H baos Ljava/io/ByteArrayOutputStream; J K L manifestDigests Ljava/util/List; N O P debug Lsun/security/util/Debug; R java/lang/StringBuilder
Q U beginEntry
Q W X Y append -(Ljava/lang/String;)Ljava/lang/StringBuilder;
[ \ ] ^ _ java/util/jar/JarEntry getName ()Ljava/lang/String;
Q a b _ toString
d e f g h sun/security/util/Debug println (Ljava/lang/String;)V j k l m n java/util/Locale ENGLISH Ljava/util/Locale;
p q r s t java/lang/String toUpperCase &(Ljava/util/Locale;)Ljava/lang/String; v META-INF/
p x y z
startsWith (Ljava/lang/String;)Z |
/META-INF/
[ ~ ? isDirectory ()Z
? ? ? ? ? 'sun/security/util/ManifestEntryVerifier setEntry -(Ljava/lang/String;Ljava/util/jar/JarEntry;)V ? java/util/jar/JarFile ? META-INF/MANIFEST.MF
p ? ? ? equals (Ljava/lang/Object;)Z ? jdk/internal/util/jar/JarIndex ? META-INF/INDEX.LIST
? ? ? ? z 'sun/security/util/SignatureFileVerifier isBlockOrSF
B ? ? reset
? ? doneWithMeta ? ./
p ? ? ? substring (I)Ljava/lang/String; ? /
+ ? ? ? get &(Ljava/lang/Object;)Ljava/lang/Object;
B ? ? 7 write
? ? ? ? update (B)V
? ? ? processEntry ,(Lsun/security/util/ManifestEntryVerifier;)V
B ? ? ? ([BII)V
? ? ? ?
? ? ? ? getEntry ()Ljava/util/jar/JarEntry; [ ? ? * signers
? ? ? ? verify G(Ljava/util/Hashtable;Ljava/util/Hashtable;)[Ljava/security/CodeSigner;
? ? ? mapSignersToCertArray >([Ljava/security/CodeSigner;)[Ljava/security/cert/Certificate; [ ? ? ? certs ![Ljava/security/cert/Certificate; ? processEntry: processing block ? .SF
p ? ? z endsWith
p ? ? ? length ()I
p ? ? ? (II)Ljava/lang/String;
B ? ? ? toByteArray ()[B
+ ? ? ? put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
; ? ? ? iterator ()Ljava/util/Iterator; ? ? ? ? ? java/util/Iterator hasNext ? ? ? ? next ()Ljava/lang/Object;
? ? ? z needSignatureFile ? &processEntry: processing pending block
? ? ? ? setSignatureFile ([B)V
? ? ? ? process ((Ljava/util/Hashtable;Ljava/util/List;)V
p ? ? lastIndexOf (I)I A signerCache manDig $Lsun/security/util/ManifestDigester; "sun/security/util/ManifestDigester
?
?
P(Ljava/util/ArrayList;Lsun/security/util/ManifestDigester;Ljava/lang/String;[B)V
? ? needSignatureFileBytes adding pending block
; ? add java/io/IOException 'java/security/cert/CertificateException &java/security/NoSuchAlgorithmException java/security/SignatureException! processEntry caught:
Q# X$ -(Ljava/lang/Object;)Ljava/lang/StringBuilder;
&'( getCodeSigners /(Ljava/lang/String;)[Ljava/security/CodeSigner;
*'+ L(Ljava/util/jar/JarFile;Ljava/util/jar/JarEntry;)[Ljava/security/CodeSigner; * ./ eagerValidation
?123 getInputStream /(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
56789 java/io/InputStream read ([BII)I
5;<