Last Msg First Msg
























method com.dmdirc.CertificateManager$CertificateNotTruste dException__static_init

method com.dmdirc.CertificateManager$CertificateDoesntMat chHostException__static_init

method com.dmdirc.CertificateManager__static_init










method void com.dmdirc.CertificateManager(String, ConfigManager)
preconfig != null
presumptioncom.dmdirc.config.ConfigManager:getOption(...)@102 != null
postthis.actionSem == &new Semaphore(CertificateMan ager#2)
postthis.cacertpass != null
postinit'ed(this.checkDate)
postinit'ed(this.checkHost)
postinit'ed(this.checkIssuer)
postthis.config == config
postthis.config != null
postthis.globalTrustedCAs == &new HashSet(Certifica teManager#1)
postthis.serverName == serverName
postinit'ed(this.serverName)
postnew HashSet(CertificateManager#1) num objects == 1
postnew Semaphore(CertificateManager#2) num objects == 1
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.String:toCharArray
unanalyzedcall on java.io.FileInputStream
unanalyzedcall on java.security.KeyStore:getInstance
unanalyzedcall on java.security.KeyStore:load
unanalyzedcall on java.io.FileInputStream:close
unanalyzedcall on com.dmdirc.logger.Logger:appError
unanalyzedcall on java.util.Set:iterator
unanalyzedcall on java.lang.System:getProperty
unanalyzedcall on java.lang.String:replace
unanalyzedcall on java.security.KeyStore:getDefaultType
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









  method not available - call not analyzedInfocall on String com.dmdirc.config.ConfigManager:getO ption(String, String)










  method not available - call not analyzedInfocall on bool com.dmdirc.config.ConfigManager:getOpt ionBool(String, String)










  method not available - call not analyzedInfocall on bool com.dmdirc.config.ConfigManager:getOpt ionBool(String, String)










  method not available - call not analyzedInfocall on bool com.dmdirc.config.ConfigManager:getOpt ionBool(String, String)











method void loadTrustedCAs()
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









  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:appError(Erro rLevel, String, Throwable)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:appError(Erro rLevel, String, Throwable)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:appError(Erro rLevel, String, Throwable)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:appError(Erro rLevel, String, Throwable)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:appError(Erro rLevel, String, Throwable)










Prev Msg Next Msg
  unused assignment
Low Prob.
Unused assignment into ex
Prev Msg Next Msg











method KeyManager[] getKeyManager()
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}









  method not available - call not analyzedInfocall on bool com.dmdirc.config.ConfigManager:hasOpt ionString(String, String)










  method not available - call not analyzedInfocall on bool com.dmdirc.config.ConfigManager:hasOpt ionString(String, String)










  method not available - call not analyzedInfocall on String com.dmdirc.config.ConfigManager:getO ption(String, String)










  method not available - call not analyzedInfocall on String com.dmdirc.config.ConfigManager:getO ption(String, String)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:appError(Erro rLevel, String, Throwable)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:appError(Erro rLevel, String, Throwable)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:appError(Erro rLevel, String, Throwable)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:appError(Erro rLevel, String, Throwable)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:appError(Erro rLevel, String, Throwable)










Prev Msg Next Msg
  unused assignment
Low Prob.
Unused assignment into ex
Prev Msg Next Msg











method void checkClientTrusted(X509Certificate[], String)










method bool isTrusted(X509Certificate)
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}









  method not available - call not analyzedInfocall on String net.miginfocom.Base64:encodeToString (byte[], bool)










  method not available - call not analyzedInfocall on bool com.dmdirc.config.ConfigManager:hasOpt ionString(String, String)
  method not available - call not analyzedInfocall on List com.dmdirc.config.ConfigManager:getOpt ionList(String, String)











method bool isValidHost(X509Certificate)
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.util.HashMap
unanalyzedcall on java.security.cert.X509Certificate:getSubje ctX500Principal
unanalyzedcall on javax.security.auth.x500.X500Principal:getN ame
unanalyzedcall on javax.naming.ldap.LdapName
unanalyzedcall on javax.naming.ldap.LdapName:getRdns
unanalyzedcall on java.util.List:iterator
unanalyzedcall on javax.naming.ldap.Rdn:getType
unanalyzedcall on javax.naming.ldap.Rdn:getValue
unanalyzedcall on java.lang.Object:toString
unanalyzedcall on java.util.Map:put
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
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}










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









  method not available - call not analyzedInfocall on void com.dmdirc.ui.core.dialogs. sslcertificate.SSLCertificateDialogModel(X509Certif icate[], List, CertificateManager)










  method not available - call not analyzedInfocall on void com.dmdirc.ui.interfaces. UIController:showSSLCertificateDialog(SSLCertificat eDialogModel)











method com.dmdirc.CertificateManager$1__static_init
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 >= 0
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:values(...).length@312 >= 1
presumptioncom.dmdirc.ui.core.dialogs.sslcertificate. CertificateAction:values(...)@312 != null
postnew int[](CertificateManager$1__static_init#1) num objects == 1









  method not available - call not analyzedInfocall on CertificateAction[] com.dmdirc.ui.core. dialogs.sslcertificate.CertificateAction:values()
  method not available - call not analyzedInfocall on int com.dmdirc.ui.core.dialogs. sslcertificate.CertificateAction:ordinal()
  method not available - call not analyzedInfocall on int com.dmdirc.ui.core.dialogs. sslcertificate.CertificateAction:ordinal()










  method not available - call not analyzedInfocall on List com.dmdirc.config.ConfigManager:getOpt ionList(String, String)










  method not available - call not analyzedInfocall on String net.miginfocom.Base64:encodeToString (byte[], bool)










  method not available - call not analyzedInfocall on Identity com.dmdirc.config.IdentityManager: getConfigIdentity()
  method not available - call not analyzedInfocall on void com.dmdirc.config.Identity:setOption(S tring, String, List)











method void setAction(CertificateAction)
prethis.actionSem != null
postthis.action == action
postinit'ed(this.action)










method String getServerName()
postreturn_value == this.serverName
postinit'ed(return_value)










method Map getDNFieldsFromCert(X509Certificate)
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
postreturn_value == &amp;new HashMap(getDNFieldsFromCer t#1)
postnew HashMap(getDNFieldsFromCert#1) num objects == 1










method X509Certificate[] getAcceptedIssuers()
prethis.globalTrustedCAs != null
presumptionjava.util.Set:size(...)@375 >= 0
postinit'ed(return_value)










method void com.dmdirc.CertificateManager$CertificateDoes ntMatchHostException(String)










method void com.dmdirc.CertificateManager$CertificateNotT rustedException(String)