/* * Decompiled with CFR 0.152. * * Could not load the following classes: * com.tridium.crypto.core.cert.NX509Certificate * com.tridium.crypto.core.cert.NX509CertificateEntry * com.tridium.crypto.core.io.CryptoSupport * com.tridium.crypto.core.provider.IProvider * com.tridium.crypto.core.provider.IProviderEntry * com.tridium.crypto.core.provider.IProviderSection * com.tridium.nre.security.SecurityInitializer * javax.baja.security.crypto.CertManagerFactory * javax.baja.security.crypto.IKeyStore * javax.baja.spy.Spy * javax.baja.spy.SpyDir * javax.baja.spy.SpyWriter */ package com.tridium.platcrypto.spy; import com.tridium.crypto.core.cert.NX509Certificate; import com.tridium.crypto.core.cert.NX509CertificateEntry; import com.tridium.crypto.core.io.CryptoSupport; import com.tridium.crypto.core.provider.IProvider; import com.tridium.crypto.core.provider.IProviderEntry; import com.tridium.crypto.core.provider.IProviderSection; import com.tridium.nre.security.SecurityInitializer; import com.tridium.platcrypto.core.IExtCryptoManager; import java.security.cert.Certificate; import java.security.cert.X509Certificate; import java.util.Enumeration; import javax.baja.security.crypto.CertManagerFactory; import javax.baja.security.crypto.IKeyStore; import javax.baja.spy.Spy; import javax.baja.spy.SpyDir; import javax.baja.spy.SpyWriter; /* * Illegal identifiers - consider using --renameillegalidents true */ public class CryptoPlatformPage extends SpyDir { private IExtCryptoManager service; public void write(SpyWriter spyWriter) throws Exception { Object object; Object object2; String[] stringArray; Object object3; if (this.service == null) { this.service = (IExtCryptoManager)CertManagerFactory.getInstanceEx(); } try { object3 = this.service.getTrustStore(); if (object3 != null) { stringArray = object3.aliases(); while (stringArray.hasMoreElements()) { String string = (String)stringArray.nextElement(); object2 = object3.getCertificate(string); if (!((Certificate)object2).getType().equals("X.509")) continue; object = NX509CertificateEntry.make((String)string, (X509Certificate[])new X509Certificate[]{object2}, null); this.add(string, (Spy)new CertificatePage((NX509CertificateEntry)object)); } } } catch (Exception exception) {} spyWriter.startProps("FIPS"); spyWriter.prop((Object)"fips mode", (Object)(SecurityInitializer.isFips() ? "ON" : "OFF")); spyWriter.endProps(); spyWriter.startTable(false); spyWriter.trTitle((Object)"Providers", 3); spyWriter.w((Object)"").th((Object)"Provider").th((Object)"Version").th((Object)"Description").w((Object)"\n"); object3 = this.service.getProviderInfo().providers(); while (object3.hasMoreElements()) { stringArray = (IProvider)object3.nextElement(); this.add(stringArray.getName(), (Spy)new ProviderPage((IProvider)stringArray)); spyWriter.w((Object)"").a(stringArray.getName()).w((Object)"").td((Object)("" + stringArray.getVersion())).w((Object)("" + stringArray.getDescription() + "")).w((Object)""); } spyWriter.endTable(); spyWriter.startProps("Supported Ciphers"); stringArray = CryptoSupport.getSupportedCiphers(); int n = 0; while (n < stringArray.length) { spyWriter.prop((Object)stringArray[n], (Object)""); ++n; } spyWriter.endProps(); IKeyStore iKeyStore = this.service.getTrustStore(); if (iKeyStore != null) { spyWriter.startTable(false); spyWriter.trTitle((Object)"Trusted Certificates", 4); spyWriter.w((Object)"").th((Object)"Alias").th((Object)"Issued To").th((Object)"Issued By").th((Object)"Expires").w((Object)"\n"); object2 = iKeyStore.aliases(); while (object2.hasMoreElements()) { object = (String)object2.nextElement(); X509Certificate x509Certificate = iKeyStore.getCertificate((String)object); if (!x509Certificate.getType().equals("X.509")) continue; NX509Certificate nX509Certificate = NX509Certificate.make((X509Certificate)x509Certificate); spyWriter.w((Object)"").a((String)object).w((Object)"").td(object).td((Object)nX509Certificate.getIssuer()).td((Object)nX509Certificate.getNotAfter()).w((Object)""); } spyWriter.endTable(); } } private final /* synthetic */ void this() { this.service = null; } public CryptoPlatformPage() { this.this(); } /* * Illegal identifiers - consider using --renameillegalidents true */ private class CertificatePage extends SpyDir { private NX509CertificateEntry cert; public void write(SpyWriter spyWriter) throws Exception { if (CryptoPlatformPage.this.service == null) { CryptoPlatformPage.this.service = (IExtCryptoManager)CertManagerFactory.getInstanceEx(); } spyWriter.startProps(this.cert.getAlias()); spyWriter.prop((Object)"Version", (Object)("v" + this.cert.getCertificate(0).getVersion())); spyWriter.prop((Object)"Serial Number", (Object)this.cert.getCertificate(0).getSerialNumber()); spyWriter.prop((Object)"Issued By", (Object)this.cert.getCertificate(0).getIssuer()); spyWriter.prop((Object)"Subject", (Object)this.cert.getCertificate(0).getSubject()); spyWriter.prop((Object)"Not Before", (Object)this.cert.getCertificate(0).getNotBefore()); spyWriter.prop((Object)"Not After", (Object)this.cert.getCertificate(0).getNotAfter()); spyWriter.prop((Object)"Signature Algorithm", (Object)this.cert.getCertificate(0).getSignatureAlgorithm()); spyWriter.prop((Object)"Basic Constraints", (Object)this.cert.getCertificate(0).getBasicConstraints()); spyWriter.prop((Object)"Key Usage", (Object)this.cert.getCertificate(0).getKeyUsage()); spyWriter.prop((Object)"Extended Key Usage", (Object)this.cert.getCertificate(0).getExtendedKeyUsage()); spyWriter.prop((Object)"MD5 Fingerprint", (Object)this.cert.getCertificate(0).getMD5Fingerprint()); spyWriter.prop((Object)"SHA1 Fingerprint", (Object)this.cert.getCertificate(0).getSHA1Fingerprint()); spyWriter.endProps(); } public CertificatePage(NX509CertificateEntry nX509CertificateEntry) { this.cert = nX509CertificateEntry; } } /* * Illegal identifiers - consider using --renameillegalidents true */ private class ProviderPage extends SpyDir { private IProvider provider; public void write(SpyWriter spyWriter) throws Exception { spyWriter.startProps("info"); spyWriter.prop((Object)"provider", (Object)this.provider.getName()); spyWriter.prop((Object)"name", (Object)("" + this.provider.getVersion())); spyWriter.prop((Object)"description", (Object)this.provider.getDescription()); spyWriter.endProps(); Enumeration enumeration = this.provider.sections(); while (enumeration.hasMoreElements()) { IProviderSection iProviderSection = (IProviderSection)enumeration.nextElement(); spyWriter.startProps(iProviderSection.getName()); Enumeration enumeration2 = iProviderSection.entries(); while (enumeration2.hasMoreElements()) { IProviderEntry iProviderEntry = (IProviderEntry)enumeration2.nextElement(); spyWriter.prop((Object)iProviderEntry.getKey(), (Object)iProviderEntry.getValue()); } spyWriter.endProps(); } } public ProviderPage(IProvider iProvider) { this.provider = iProvider; } } }