Package net.sourceforge.jnlp.security
Class PluginAppVerifier
- java.lang.Object
-
- net.sourceforge.jnlp.security.PluginAppVerifier
-
- All Implemented Interfaces:
AppVerifier
public class PluginAppVerifier extends java.lang.Object implements AppVerifier
-
-
Constructor Summary
Constructors Constructor Description PluginAppVerifier()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<java.security.cert.CertPath>buildCertPathsList(JarCertVerifier jcv)Build a list of all the CertPaths that were detected in the provided JCV, placing them in the most trusted possible order.voidcheckTrustWithUser(SecurityDelegate securityDelegate, JarCertVerifier jcv, JNLPFile file)Prompt the user with requests for trusting the certificates used by this appbooleanhasAlreadyTrustedPublisher(java.util.Map<java.security.cert.CertPath,CertInformation> certs, java.util.Map<java.lang.String,java.lang.Integer> signedJars)Checks if the app has already found trust in its publisher(s).booleanhasRootInCacerts(java.util.Map<java.security.cert.CertPath,CertInformation> certs, java.util.Map<java.lang.String,java.lang.Integer> signedJars)Checks if the app has signer(s) whose certs along their chains are in CA certs.booleanisFullySigned(java.util.Map<java.security.cert.CertPath,CertInformation> certs, java.util.Map<java.lang.String,java.lang.Integer> signedJars)Checks if the app's jars are covered by the provided certificates, enough to consider the app fully signed.
-
-
-
Method Detail
-
hasAlreadyTrustedPublisher
public boolean hasAlreadyTrustedPublisher(java.util.Map<java.security.cert.CertPath,CertInformation> certs, java.util.Map<java.lang.String,java.lang.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(java.util.Map<java.security.cert.CertPath,CertInformation> certs, java.util.Map<java.lang.String,java.lang.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
public boolean isFullySigned(java.util.Map<java.security.cert.CertPath,CertInformation> certs, java.util.Map<java.lang.String,java.lang.Integer> signedJars)
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(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 file to provide information- Throws:
LaunchException- if it fails to verify
-
buildCertPathsList
public java.util.List<java.security.cert.CertPath> buildCertPathsList(JarCertVerifier jcv)
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
-
-