public class JarCertVerifier extends java.lang.Object implements CertVerifier
Constructor and Description |
---|
JarCertVerifier(AppVerifier verifier)
Create a new jar certificate verifier utility that uses the provided verifier for its strategy pattern.
|
Modifier and Type | Method and Description |
---|---|
void |
add(java.util.List<JARDesc> jars,
ResourceTracker tracker)
Update the verifier to consider new jars when verifying.
|
boolean |
allJarsSigned()
Returns if all jars are signed.
|
void |
checkTrustWithUser(JNLPClassLoader.SecurityDelegate securityDelegate,
JNLPFile file) |
boolean |
getAlreadyTrustPublisher() |
CertInformation |
getCertInformation(java.security.cert.CertPath cPath)
Find the information the specified cert path has with respect to this application.
|
java.security.cert.CertPath |
getCertPath(java.security.cert.CertPath cPath) |
java.util.List<java.security.cert.CertPath> |
getCertsList()
Get a list of the cert paths of all signers across the app.
|
java.util.List<java.lang.String> |
getDetails(java.security.cert.CertPath certPath) |
java.util.Map<java.lang.String,java.lang.Integer> |
getJarSignableEntries() |
java.security.cert.Certificate |
getPublisher(java.security.cert.CertPath cPath) |
java.security.cert.Certificate |
getRoot(java.security.cert.CertPath cPath) |
boolean |
getRootInCacerts() |
static int |
getTotalJarEntries(java.util.Map<java.lang.String,java.lang.Integer> map)
Get the total number of entries in the provided map.
|
boolean |
hasSigningIssues(java.security.cert.CertPath certPath) |
boolean |
isFullySigned()
Returns whether or not the app is considered completely signed.
|
static boolean |
isJarSigned(JARDesc jar,
AppVerifier verifier,
ResourceTracker tracker) |
boolean |
isTriviallySigned() |
void |
setCurrentlyUsedCertPath(java.security.cert.CertPath cPath) |
public JarCertVerifier(AppVerifier verifier)
verifier
- The application verifier to be used by the new instance.public boolean isTriviallySigned()
public boolean getAlreadyTrustPublisher()
getAlreadyTrustPublisher
in interface CertVerifier
public boolean getRootInCacerts()
getRootInCacerts
in interface CertVerifier
public java.security.cert.CertPath getCertPath(java.security.cert.CertPath cPath)
getCertPath
in interface CertVerifier
cPath
- to be readpublic boolean hasSigningIssues(java.security.cert.CertPath certPath)
hasSigningIssues
in interface CertVerifier
certPath
- to be validatedpublic java.util.List<java.lang.String> getDetails(java.security.cert.CertPath certPath)
getDetails
in interface CertVerifier
certPath
- certificatepublic java.util.List<java.security.cert.CertPath> getCertsList()
public CertInformation getCertInformation(java.security.cert.CertPath cPath)
cPath
- certificate to provide infopublic boolean isFullySigned()
public static boolean isJarSigned(JARDesc jar, AppVerifier verifier, ResourceTracker tracker) throws java.lang.Exception
java.lang.Exception
public void add(java.util.List<JARDesc> jars, ResourceTracker tracker) throws java.lang.Exception
jars
- List of new jars to be verified.tracker
- Resource tracker used to obtain the the jars from cachejava.lang.Exception
- Caused by issues with obtaining the jars' entries or interacting with the tracker.public void setCurrentlyUsedCertPath(java.security.cert.CertPath cPath)
public java.security.cert.Certificate getPublisher(java.security.cert.CertPath cPath)
getPublisher
in interface CertVerifier
cPath
- to be read for publisherpublic java.security.cert.Certificate getRoot(java.security.cert.CertPath cPath)
getRoot
in interface CertVerifier
cPath
- certificatepublic boolean allJarsSigned()
public void checkTrustWithUser(JNLPClassLoader.SecurityDelegate securityDelegate, JNLPFile file) throws LaunchException
LaunchException
public java.util.Map<java.lang.String,java.lang.Integer> getJarSignableEntries()
public static int getTotalJarEntries(java.util.Map<java.lang.String,java.lang.Integer> map)
map
- map of all jars