AppVerifier (IcedTea-Web: NetX )
Keywords: net.sourceforge.jnlp.security.AppVerifier interface
Date: 2021-05-10

net.sourceforge.jnlp.security

## Interface AppVerifier

- All Known Implementing Classes:
    JNLPAppVerifier, PluginAppVerifier

      public interface AppVerifier

  An interface that provides various details about an app's signers.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `checkTrustWithUser(JNLPClassLoader.SecurityDelegate securityDelegate, 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.

- - ### Method Detail

    - #### hasAlreadyTrustedPublisher

          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).
      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

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

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

          void checkTrustWithUser(JNLPClassLoader.SecurityDelegate securityDelegate,
                                  JarCertVerifier jcv,
                                  JNLPFile file)
                           throws LaunchException

      Prompt the user with requests for trusting the certificates used by this app
      Parameters:
        `securityDelegate` - parental security
        `jcv` - jar verifier
        `file` - jnlp fiel to provide information
      Throws:
        `LaunchException` - if it fails to verify

Submit a bug or feature