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 and Description
`PluginAppVerifier()`

### Method Summary

Methods
`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.
`void` `checkTrustWithUser(JarCertVerifier jcv, JNLPFile file)` Prompt the user with requests for trusting the certificates used by this app
`boolean` `hasAlreadyTrustedPublisher(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).
`boolean` `hasRootInCacerts(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.
`boolean` `isFullySigned(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.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PluginAppVerifier

    public PluginAppVerifier()

### 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: `AppVerifier`
Checks if the app has already found trust in its publisher(s).

Specified by:
  `hasAlreadyTrustedPublisher` in interface `AppVerifier`
Parameters:
  `certs` - The certs to search through and their cert information
  `signedJars` - 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: `AppVerifier`
Checks if the app has signer(s) whose certs along their chains are in CA certs.

Specified by:
  `hasRootInCacerts` in interface `AppVerifier`
Parameters:
  `certs` - The certs to search through and their cert information
  `signedJars` - 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: `AppVerifier`
Checks if the app's jars are covered by the provided certificates, enough to consider the app fully signed.

Specified by:
  `isFullySigned` in interface `AppVerifier`
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:

#### checkTrustWithUser

    public void checkTrustWithUser(JarCertVerifier jcv,
                          JNLPFile file)
                            throws LaunchException

Description copied from interface: `AppVerifier`
Prompt the user with requests for trusting the certificates used by this app

Specified by:
  `checkTrustWithUser` in interface `AppVerifier`
Throws:
  `LaunchException`

#### 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