public class SignedBundleFile extends BundleFile implements SignedContentConstants, SignedContent
basefile, PROP_SETPERMS_CMD
AUTHORIZATION_ENGINE, DEFAULT_AUTHORIZATION_ENGINE, DEFAULT_TRUST_ENGINE, digestManifestSearch, digestManifestSearchLen, DOT_DSA, DOT_RSA, DOT_SF, DSA_OID, EMPTY_STRING, MD2_OID, MD2_STR, MD5_OID, MD5_STR, META_INF, META_INF_MANIFEST_MF, MF_DIGEST_PART, MF_ENTRY_NAME, MF_ENTRY_NEWLN_NAME, RSA_OID, SHA1_OID, SHA1_STR, SHA224_OID, SHA224_STR, SHA256_OID, SHA256_STR, SHA384_OID, SHA384_STR, SHA512_224_OID, SHA512_224_STR, SHA512_256_OID, SHA512_256_STR, SHA512_OID, SHA512_STR, SIG_DASH, SIGNEDDATA_OID, SIGNING_TIME, TIMESTAMP_OID, TIMESTAMP_TST_OID, TRUST_ENGINE
Modifier and Type | Method and Description |
---|---|
void |
checkValidity(SignerInfo signerInfo)
Checks if the certificates are valid for the specified signer.
|
void |
close()
Closes the BundleFile.
|
boolean |
containsDir(String dir)
Determines if any BundleEntries exist in the given directory path.
|
File |
getBaseFile()
Returns the base file for this BundleFile
|
BundleEntry |
getEntry(String path)
Locates a file name in this bundle and returns a BundleEntry object
|
Enumeration<String> |
getEntryPaths(String path)
Allows to access the entries of the bundle.
|
File |
getFile(String path,
boolean nativeCode)
Returns a File for the bundle entry specified by the path.
|
SignedContentEntry[] |
getSignedEntries()
Returns all entries of the content.
|
SignedContentEntry |
getSignedEntry(String name)
Returns the signed entry for the specified name.
|
SignerInfo[] |
getSignerInfos()
Returns all the signer infos for this
SignedContent . |
Date |
getSigningTime(SignerInfo signerInfo)
Returns the signing time for the signer info.
|
SignerInfo |
getTSASignerInfo(SignerInfo signerInfo)
Returns the TSA signer info used to authenticate the signer time of a signer info.
|
boolean |
isSigned()
Returns true if the content is signed; false otherwise.
|
void |
open()
Opens the BundleFiles.
|
fixTrailingSlash, getResourceURL, getResourceURL, getResourceURL, setPermissions, toString
public File getFile(String path, boolean nativeCode)
BundleFile
getFile
in class BundleFile
path
- The path to the entry to locate a File for.nativeCode
- true if the path is native code.public BundleEntry getEntry(String path)
BundleFile
getEntry
in class BundleFile
path
- path of the entry to locate in the bundlepublic Enumeration<String> getEntryPaths(String path)
BundleFile
getEntryPaths
in class BundleFile
path
- path of the entry to locate in the bundlepublic void close() throws IOException
BundleFile
close
in class BundleFile
IOException
- if any error occurs.public void open() throws IOException
BundleFile
open
in class BundleFile
IOException
- if any error occurs.public boolean containsDir(String dir)
BundleFile
containsDir
in class BundleFile
dir
- The directory path to check existence of.public File getBaseFile()
BundleFile
getBaseFile
in class BundleFile
public SignedContentEntry[] getSignedEntries()
SignedContent
SignedContentEntry.verify()
and
get signer info for each entry in this content using SignedContentEntry.getSignerInfos()
.
Note that this operation may be expensive because it requires an
exhaustive search for entries over the entire content.
Unsigned entries are included in the result. Entries for which signer info exists but no content is found are also returned. For example, when an entry is removed from a signed jar but the jar is not resigned, the signer thinks the entry should exist but the content got removed. This would be considered an invalid entry which would fail verification.
getSignedEntries
in interface SignedContent
public SignedContentEntry getSignedEntry(String name)
SignedContent
getSignedEntry
in interface SignedContent
name
- the name of the entrypublic SignerInfo[] getSignerInfos()
SignedContent
SignedContent
. If the content
is not signed then an empty array is returned.getSignerInfos
in interface SignedContent
SignedContent
public Date getSigningTime(SignerInfo signerInfo)
SignedContent
getSigningTime
in interface SignedContent
signerInfo
- the signer info to get the signing time forpublic SignerInfo getTSASignerInfo(SignerInfo signerInfo)
SignedContent
getTSASignerInfo
in interface SignedContent
signerInfo
- the signer info to get the TSA signer forpublic boolean isSigned()
SignedContent
SignedContent.getSignerInfos()
.length > 0
isSigned
in interface SignedContent
public void checkValidity(SignerInfo signerInfo) throws CertificateExpiredException, CertificateNotYetValidException
SignedContent
SignedContent.getSigningTime(SignerInfo)
then that time is used to check the
validity of the certificates; otherwise the current time is used.checkValidity
in interface SignedContent
signerInfo
- the signer info to check validity for.CertificateExpiredException
- if one of the certificates of this signer is expiredCertificateNotYetValidException
- if one of the certificates of this signer is not yet validCopyright © 2007–2018 The Apache Software Foundation. All rights reserved.