Package net.sourceforge.jnlp.security
Class PluginAppVerifier
java.lang.Object
net.sourceforge.jnlp.security.PluginAppVerifier
- All Implemented Interfaces:
AppVerifier
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionBuild a list of all the CertPaths that were detected in the provided JCV, placing them in the most trusted possible order.voidcheckTrustWithUser(JNLPClassLoader.SecurityDelegate securityDelegate, JarCertVerifier jcv, JNLPFile file) Prompt the user with requests for trusting the certificates used by this appbooleanhasAlreadyTrustedPublisher(Map<CertPath, CertInformation> certs, Map<String, Integer> signedJars) Checks if the app has already found trust in its publisher(s).booleanhasRootInCacerts(Map<CertPath, CertInformation> certs, Map<String, Integer> signedJars) Checks if the app has signer(s) whose certs along their chains are in CA certs.booleanisFullySigned(Map<CertPath, CertInformation> certs, Map<String, Integer> signedJars) Checks if the app's jars are covered by the provided certificates, enough to consider the app fully signed.
-
Constructor Details
-
PluginAppVerifier
public PluginAppVerifier()
-
-
Method Details
-
hasAlreadyTrustedPublisher
public boolean hasAlreadyTrustedPublisher(Map<CertPath, CertInformation> certs, Map<String, Integer> signedJars) Description copied from interface:AppVerifierChecks if the app has already found trust in its publisher(s).- Specified by:
hasAlreadyTrustedPublisherin interfaceAppVerifier- Parameters:
certs- The certs to search through and their cert informationsignedJars- A map of all the jars of this app and the number of signed entries each one has.- Returns:
- True if the app trusts its publishers.
-
hasRootInCacerts
public boolean hasRootInCacerts(Map<CertPath, CertInformation> certs, Map<String, Integer> signedJars) Description copied from interface:AppVerifierChecks if the app has signer(s) whose certs along their chains are in CA certs.- Specified by:
hasRootInCacertsin interfaceAppVerifier- Parameters:
certs- The certs to search through and their cert informationsignedJars- A map of all the jars of this app and the number of signed entries each one has.- Returns:
- True if the app has a root in the CA certs store.
-
isFullySigned
Description copied from interface:AppVerifierChecks if the app's jars are covered by the provided certificates, enough to consider the app fully signed.- Specified by:
isFullySignedin interfaceAppVerifier- Parameters:
certs- Any possible signer and their respective information regarding this app.signedJars- A map of all the jars of this app and the number of signed entries each one has.- Returns:
- true if jar is fully signed
-
checkTrustWithUser
public void checkTrustWithUser(JNLPClassLoader.SecurityDelegate securityDelegate, JarCertVerifier jcv, JNLPFile file) throws LaunchException Description copied from interface:AppVerifierPrompt the user with requests for trusting the certificates used by this app- Specified by:
checkTrustWithUserin interfaceAppVerifier- Parameters:
securityDelegate- parental securityjcv- jar verifierfile- jnlp fiel to provide information- Throws:
LaunchException- if it fails to verify
-
buildCertPathsList
Build a list of all the CertPaths that were detected in the provided JCV, placing them in the most trusted possible order.- Parameters:
jcv- The verifier containing the CertPaths to examine.- Returns:
- A list of CertPaths sorted in the following order: Signers with 1. Already trusted publishers 2. Roots in the CA store and have no signing issues 3. Roots in the CA store but have signing issues 4. Everything else
-