CertificateManager.java


current inspection = 2009-09-03 21:56:13 (id #1)


Filter Options
Annotation Kind:
pre
presumption
post
unanalyzed
test_vector


  • void checkClientTrusted(X509Certificate[], String)

  • Kind Annotation Text

  • void checkServerTrusted(X509Certificate[], String)

  • Kind Annotation Text
    pre(soft) chain.length in {1..232-1}
    pre(soft) chain[0] != null
    pre(soft) chain[...] != null
    pre(soft) com.dmdirc.CertificateManager$1__static_ init.new int[](CertificateManager$1__static_init#1) [...] != 1
    pre(soft) com/dmdirc/Main.controller != null
    pre(soft) init'ed(this.checkDate)
    pre(soft) init'ed(this.checkIssuer)
    pre(soft) this.action != null
    pre(soft) this.actionSem != null
    pre(soft) this.config != null
    pre(soft) this.globalTrustedCAs != null
    prechain != null
    preinit'ed(this.checkHost)
    presumptioncom.dmdirc.config.IdentityManager:getConfigIdentity (...)@319 != null
    presumptioncom.dmdirc.ui.core.dialogs.sslcertificate. CertificateAction:ordinal(...)@312 < com.dmdirc.ui.core.dialogs.sslcertificate. CertificateAction:values(...).length
    presumptioncom.dmdirc.ui.core.dialogs.sslcertificate. CertificateAction:ordinal(...)@312 >= 0
    presumptioncom.dmdirc.ui.core.dialogs.sslcertificate. CertificateAction:values(...).length >= 1
    unanalyzedcall on com.dmdirc.config.ConfigManager:getOptionLi st
    unanalyzedcall on com.dmdirc.config.ConfigManager:hasOptionSt ring
    unanalyzedcall on java.lang.Integer:intValue
    unanalyzedcall on java.lang.Object:equals
    unanalyzedcall on java.lang.Object:toString
    unanalyzedcall on java.lang.String:equals
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.security.Principal:getName
    unanalyzedcall on java.security.cert.CertificateException
    unanalyzedcall on java.security.cert.X509Certificate:getIssue rDN
    unanalyzedcall on java.security.cert.X509Certificate:getPubli cKey
    unanalyzedcall on java.security.cert.X509Certificate:getSigna ture
    unanalyzedcall on java.security.cert.X509Certificate:getSubje ctAlternativeNames
    unanalyzedcall on java.security.cert.X509Certificate:getSubje ctX500Principal
    unanalyzedcall on java.security.cert.X509Certificate:verify
    unanalyzedcall on java.util.Arrays:equals
    unanalyzedcall on java.util.Collection:iterator
    unanalyzedcall on java.util.HashMap
    unanalyzedcall on java.util.List:contains
    unanalyzedcall on java.util.List:get
    unanalyzedcall on java.util.List:iterator
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:get
    unanalyzedcall on java.util.Map:put
    unanalyzedcall on java.util.Set:iterator
    unanalyzedcall on javax.naming.ldap.LdapName
    unanalyzedcall on javax.naming.ldap.LdapName:getRdns
    unanalyzedcall on javax.naming.ldap.Rdn:getType
    unanalyzedcall on javax.naming.ldap.Rdn:getValue
    unanalyzedcall on javax.security.auth.x500.X500Principal:getN ame
    unanalyzedcall on net.miginfocom.Base64:encodeToString
    test_vectorcom.dmdirc.CertificateManager$1__static_init.new int[](CertificateManager$1__static_init#1)[...]: {2}, {-231..0, 3..232-1}
    test_vectorjava.util.List:isEmpty(...)@302: {1}, {0}
    test_vectorthis.checkDate: {0}, {1}
    test_vectorthis.checkHost: {0}, {1}
    test_vectorthis.checkIssuer: {0}, {1}

  • com.dmdirc.CertificateManager$1__static_init

  • Kind Annotation Text
    presumptioncom.dmdirc.ui.core.dialogs.sslcertificate. CertificateAction.DISCONNECT != null
    presumptioncom.dmdirc.ui.core.dialogs.sslcertificate. CertificateAction.IGNORE_PERMANENTY != null
    presumptioncom.dmdirc.ui.core.dialogs.sslcertificate. CertificateAction.IGNORE_TEMPORARILY != null
    presumptioncom.dmdirc.ui.core.dialogs.sslcertificate. CertificateAction:ordinal(...)@312 < com.dmdirc.ui.core.dialogs.sslcertificate. CertificateAction:values(...).length@312
    presumptioncom.dmdirc.ui.core.dialogs.sslcertificate. CertificateAction:ordinal(...)@312 >= 0
    presumptioncom.dmdirc.ui.core.dialogs.sslcertificate. CertificateAction:values(...).length@312 >= 1
    presumptioncom.dmdirc.ui.core.dialogs.sslcertificate. CertificateAction:values(...)@312 != null
    postnew int[](CertificateManager$1__static_init#1) num objects == 1

  • void com.dmdirc.CertificateManager$CertificateDoesntMatchHostException(String)

  • Kind Annotation Text

  • com.dmdirc.CertificateManager$CertificateDoesntMatchHostException__static_init

  • Kind Annotation Text

  • void com.dmdirc.CertificateManager$CertificateNotTrustedException(String)

  • Kind Annotation Text

  • com.dmdirc.CertificateManager$CertificateNotTrustedException__static_init

  • Kind Annotation Text

  • void com.dmdirc.CertificateManager(String, ConfigManager)

  • Kind Annotation Text
    preconfig != null
    presumptioncom.dmdirc.config.ConfigManager:getOption(...)@102 != null
    postinit'ed(this.checkDate)
    postinit'ed(this.checkHost)
    postinit'ed(this.checkIssuer)
    postinit'ed(this.serverName)
    postnew HashSet(CertificateManager#1) num objects == 1
    postnew Semaphore(CertificateManager#2) num objects == 1
    postthis.actionSem == &amp;new Semaphore(CertificateMan ager#2)
    postthis.cacertpass != null
    postthis.config != null
    postthis.config == config
    postthis.globalTrustedCAs == &amp;new HashSet(Certifica teManager#1)
    postthis.serverName == serverName
    unanalyzedcall on com.dmdirc.logger.Logger:appError
    unanalyzedcall on java.io.FileInputStream
    unanalyzedcall on java.io.FileInputStream:close
    unanalyzedcall on java.lang.String:replace
    unanalyzedcall on java.lang.String:toCharArray
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.security.KeyStore:getDefaultType
    unanalyzedcall on java.security.KeyStore:getInstance
    unanalyzedcall on java.security.KeyStore:load
    unanalyzedcall on java.security.cert.PKIXParameters
    unanalyzedcall on java.security.cert.PKIXParameters:getTrustA nchors
    unanalyzedcall on java.security.cert.TrustAnchor:getTrustedCe rt
    unanalyzedcall on java.util.Set:add
    unanalyzedcall on java.util.Set:iterator

  • com.dmdirc.CertificateManager__static_init

  • Kind Annotation Text

  • X509Certificate[] getAcceptedIssuers()

  • Kind Annotation Text
    prethis.globalTrustedCAs != null
    presumptionjava.util.Set:size(...)@375 >= 0
    postinit'ed(return_value)

  • Map getDNFieldsFromCert(X509Certificate)

  • Kind Annotation Text
    pre(soft) cert != null
    presumptionjava.security.cert.X509Certificate:getSubjectX500Pr incipal(...)@361 != null
    presumptionjava.util.Iterator:next(...)@362 != null
    presumptionjavax.naming.ldap.LdapName:getRdns(...)@362 != null
    presumptionjavax.naming.ldap.Rdn:getValue(...)@363 != null
    postnew HashMap(getDNFieldsFromCert#1) num objects == 1
    postreturn_value == &amp;new HashMap(getDNFieldsFromCer t#1)

  • KeyManager[] getKeyManager()

  • Kind Annotation Text
    prethis.config != null
    presumptioncom.dmdirc.config.ConfigManager:getOption(...)@161 != null
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.MEDIUM)
    presumptionjava.security.KeyStore:getInstance(...)@167 != null
    presumptionjavax.net.ssl.KeyManagerFactory:getInstance(... )@170 != null
    postinit'ed(return_value)
    test_vectorcom.dmdirc.config.ConfigManager:hasOptionString(... )@155: {0}, {1}
    test_vectorcom.dmdirc.config.ConfigManager:hasOptionString(... )@160: {0}, {1}

  • String getServerName()

  • Kind Annotation Text
    postinit'ed(return_value)
    postreturn_value == this.serverName

  • bool isTrusted(X509Certificate)

  • Kind Annotation Text
    pre(soft) certificate != null
    pre(soft) this.config != null
    pre(soft) this.globalTrustedCAs != null
    presumptioncom.dmdirc.config.ConfigManager:getOptionList(... )@218 != null
    presumptionjava.security.Principal:getName(...)@223 != null
    presumptionjava.security.cert.X509Certificate:getIssuerDN(... )@223 != null
    presumptionjava.util.Iterator:next(...)@222 != null
    postinit'ed(return_value)
    test_vectorcom.dmdirc.config.ConfigManager:hasOptionString(... )@218: {0}, {1}
    test_vectorjava.lang.String:equals(...)@223: {0}, {1}
    test_vectorjava.util.Arrays:equals(...)@223: {0}, {1}
    test_vectorjava.util.Iterator:hasNext(...)@222: {0}, {1}
    test_vectorjava.util.List:contains(...)@218: {0}, {1}

  • bool isValidHost(X509Certificate)

  • Kind Annotation Text
    pre(soft) certificate != null
    presumptionjava.security.cert.X509Certificate:getSubjectAltern ativeNames(...)@246 != null
    presumptionjava.util.Iterator:next(...)@246 != null
    presumptionjava.util.List:get(...)@247 != null
    presumptionjava.util.List:get(...)@250 != null
    presumptionjava.util.Map:get(...)@240 != null
    postinit'ed(return_value)
    unanalyzedcall on java.lang.Object:toString
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.security.cert.X509Certificate:getSubje ctX500Principal
    unanalyzedcall on java.util.HashMap
    unanalyzedcall on java.util.List:iterator
    unanalyzedcall on java.util.Map:put
    unanalyzedcall on javax.naming.ldap.LdapName
    unanalyzedcall on javax.naming.ldap.LdapName:getRdns
    unanalyzedcall on javax.naming.ldap.Rdn:getType
    unanalyzedcall on javax.naming.ldap.Rdn:getValue
    unanalyzedcall on javax.security.auth.x500.X500Principal:getN ame
    test_vectorjava.lang.Integer:intValue(...)@247: {-231..1, 3..6, 8..232-1}, {7}
    test_vectorjava.lang.Object:equals(...)@250: {0}, {1}
    test_vectorjava.lang.String:equals(...)@240: {0}, {1}
    test_vectorjava.security.cert.X509Certificate:getSubjectAltern ativeNames(...)@245: Addr_Set{null}, Inverse{null}
    test_vectorjava.util.Iterator:hasNext(...)@246: {0}, {1}
    test_vectorjava.util.Map:containsKey(...)@240: {0}, {1}

  • void loadTrustedCAs()

  • Kind Annotation Text
    pre(soft) this.cacertpass != null
    pre(soft) this.globalTrustedCAs != null
    presumptioninit'ed(com.dmdirc.logger.ErrorLevel.MEDIUM)
    presumptioninit'ed(java.io.File.separatorChar)
    presumptionjava.security.KeyStore:getInstance(...)@120 != null
    presumptionjava.security.cert.PKIXParameters:getTrustAnchors(. ..)@124 != null
    presumptionjava.util.Iterator:next(...)@124 != null

  • void setAction(CertificateAction)

  • Kind Annotation Text
    prethis.actionSem != null
    postinit'ed(this.action)
    postthis.action == action