public class org.bouncycastle.cert.dane.DANECertificateFetcher
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.cert.dane.DANECertificateFetcher
super_class: java.lang.Object
{
private final org.bouncycastle.cert.dane.DANEEntryFetcherFactory fetcherFactory;
descriptor: Lorg/bouncycastle/cert/dane/DANEEntryFetcherFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.bouncycastle.cert.dane.DANEEntrySelectorFactory selectorFactory;
descriptor: Lorg/bouncycastle/cert/dane/DANEEntrySelectorFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.bouncycastle.cert.dane.DANEEntryFetcherFactory, org.bouncycastle.operator.DigestCalculator);
descriptor: (Lorg/bouncycastle/cert/dane/DANEEntryFetcherFactory;Lorg/bouncycastle/operator/DigestCalculator;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 // org.bouncycastle.cert.dane.DANECertificateFetcher this
start local 1 // org.bouncycastle.cert.dane.DANEEntryFetcherFactory fetcherFactory
start local 2 // org.bouncycastle.operator.DigestCalculator digestCalculator
0: .line 25
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 27
aload 0 /* this */
aload 1 /* fetcherFactory */
putfield org.bouncycastle.cert.dane.DANECertificateFetcher.fetcherFactory:Lorg/bouncycastle/cert/dane/DANEEntryFetcherFactory;
2: .line 28
aload 0 /* this */
new org.bouncycastle.cert.dane.DANEEntrySelectorFactory
dup
aload 2 /* digestCalculator */
invokespecial org.bouncycastle.cert.dane.DANEEntrySelectorFactory.<init>:(Lorg/bouncycastle/operator/DigestCalculator;)V
putfield org.bouncycastle.cert.dane.DANECertificateFetcher.selectorFactory:Lorg/bouncycastle/cert/dane/DANEEntrySelectorFactory;
3: .line 29
return
end local 2 // org.bouncycastle.operator.DigestCalculator digestCalculator
end local 1 // org.bouncycastle.cert.dane.DANEEntryFetcherFactory fetcherFactory
end local 0 // org.bouncycastle.cert.dane.DANECertificateFetcher this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/cert/dane/DANECertificateFetcher;
0 4 1 fetcherFactory Lorg/bouncycastle/cert/dane/DANEEntryFetcherFactory;
0 4 2 digestCalculator Lorg/bouncycastle/operator/DigestCalculator;
MethodParameters:
Name Flags
fetcherFactory
digestCalculator
public java.util.List fetch(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 // org.bouncycastle.cert.dane.DANECertificateFetcher this
start local 1 // java.lang.String emailAddress
0: .line 41
aload 0 /* this */
getfield org.bouncycastle.cert.dane.DANECertificateFetcher.selectorFactory:Lorg/bouncycastle/cert/dane/DANEEntrySelectorFactory;
aload 1 /* emailAddress */
invokevirtual org.bouncycastle.cert.dane.DANEEntrySelectorFactory.createSelector:(Ljava/lang/String;)Lorg/bouncycastle/cert/dane/DANEEntrySelector;
astore 2 /* daneSelector */
start local 2 // org.bouncycastle.cert.dane.DANEEntrySelector daneSelector
1: .line 43
aload 0 /* this */
getfield org.bouncycastle.cert.dane.DANECertificateFetcher.fetcherFactory:Lorg/bouncycastle/cert/dane/DANEEntryFetcherFactory;
aload 2 /* daneSelector */
invokevirtual org.bouncycastle.cert.dane.DANEEntrySelector.getDomainName:()Ljava/lang/String;
invokeinterface org.bouncycastle.cert.dane.DANEEntryFetcherFactory.build:(Ljava/lang/String;)Lorg/bouncycastle/cert/dane/DANEEntryFetcher;
invokeinterface org.bouncycastle.cert.dane.DANEEntryFetcher.getEntries:()Ljava/util/List;
astore 3 /* matches */
start local 3 // java.util.List matches
2: .line 44
new java.util.ArrayList
dup
aload 3 /* matches */
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 4 /* certs */
start local 4 // java.util.List certs
3: .line 46
aload 3 /* matches */
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5 /* it */
start local 5 // java.util.Iterator it
4: goto 8
5: .line 48
StackMap locals: org.bouncycastle.cert.dane.DANECertificateFetcher java.lang.String org.bouncycastle.cert.dane.DANEEntrySelector java.util.List java.util.List java.util.Iterator
StackMap stack:
aload 5 /* it */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bouncycastle.cert.dane.DANEEntry
astore 6 /* next */
start local 6 // org.bouncycastle.cert.dane.DANEEntry next
6: .line 49
aload 2 /* daneSelector */
aload 6 /* next */
invokevirtual org.bouncycastle.cert.dane.DANEEntrySelector.match:(Ljava/lang/Object;)Z
ifeq 8
7: .line 51
aload 4 /* certs */
aload 6 /* next */
invokevirtual org.bouncycastle.cert.dane.DANEEntry.getCertificate:()Lorg/bouncycastle/cert/X509CertificateHolder;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 // org.bouncycastle.cert.dane.DANEEntry next
8: .line 46
StackMap locals:
StackMap stack:
aload 5 /* it */
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 5 // java.util.Iterator it
9: .line 55
aload 4 /* certs */
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
end local 4 // java.util.List certs
end local 3 // java.util.List matches
end local 2 // org.bouncycastle.cert.dane.DANEEntrySelector daneSelector
end local 1 // java.lang.String emailAddress
end local 0 // org.bouncycastle.cert.dane.DANECertificateFetcher this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bouncycastle/cert/dane/DANECertificateFetcher;
0 10 1 emailAddress Ljava/lang/String;
1 10 2 daneSelector Lorg/bouncycastle/cert/dane/DANEEntrySelector;
2 10 3 matches Ljava/util/List;
3 10 4 certs Ljava/util/List;
4 9 5 it Ljava/util/Iterator;
6 8 6 next Lorg/bouncycastle/cert/dane/DANEEntry;
Exceptions:
throws org.bouncycastle.cert.dane.DANEException
MethodParameters:
Name Flags
emailAddress
}
SourceFile: "DANECertificateFetcher.java"