Package gov.usgs.earthquake.distribution
Class SignatureVerifier
java.lang.Object
gov.usgs.util.DefaultConfigurable
gov.usgs.earthquake.distribution.SignatureVerifier
- All Implemented Interfaces:
Configurable
Verifies certificate/key signatures
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Don't verify signatures (Default).static final int
History depth default.static final String
Property for verifying signature history based on depthstatic final String
Property for a file of keys.static final String
Property for a list of keys.static final String
Allow products that do not have a configured key.static final String
Test signatures, but don't reject invalid.static final String
Property for whether or not to verify signatures. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Process configuration settings.boolean
boolean
boolean
void
setAllowUnknownSigner
(boolean allowUnknownSigner) void
setHistoryDepth
(Integer historyDepth) void
setKeychain
(ProductKeyChain keychain) void
setRejectInvalidSignatures
(boolean rejectInvalidSignatures) void
setTestSignatures
(boolean testSignatures) boolean
verifySignature
(Product product) Attempt to verify a products signature.Methods inherited from class gov.usgs.util.DefaultConfigurable
getName, setName, shutdown, startup
-
Field Details
-
VERIFY_SIGNATURES_PROPERTY_NAME
Property for whether or not to verify signatures.- See Also:
-
DEFAULT_VERIFY_SIGNATURE
Don't verify signatures (Default).- See Also:
-
TEST_VERIFY_SIGNATURE
Test signatures, but don't reject invalid.- See Also:
-
ONLY_VERIFY_KNOWN
Allow products that do not have a configured key.- See Also:
-
KEYCHAIN_PROPERTY_NAME
Property for a list of keys.- See Also:
-
KEYCHAIN_FILE_PROPERTY_NAME
Property for a file of keys.- See Also:
-
HISTORY_DEPTH_NAME
Property for verifying signature history based on depth- See Also:
-
HISTORY_DEPTH_DEFAULT
public static final int HISTORY_DEPTH_DEFAULTHistory depth default. Go 3 indices deep in signature history list- See Also:
-
-
Constructor Details
-
SignatureVerifier
public SignatureVerifier()
-
-
Method Details
-
configure
Description copied from class:DefaultConfigurable
Process configuration settings. Called before startup().- Specified by:
configure
in interfaceConfigurable
- Overrides:
configure
in classDefaultConfigurable
- Parameters:
config
- the Config object with settings.- Throws:
Exception
- if configuration exceptions occur.
-
isRejectInvalidSignatures
public boolean isRejectInvalidSignatures()- Returns:
- boolean RejectInvalidSignatures
-
setRejectInvalidSignatures
public void setRejectInvalidSignatures(boolean rejectInvalidSignatures) - Parameters:
rejectInvalidSignatures
- boolean to set
-
isTestSignatures
public boolean isTestSignatures()- Returns:
- boolean TestSignatures
-
setTestSignatures
public void setTestSignatures(boolean testSignatures) - Parameters:
testSignatures
- boolean to set
-
getKeychain
- Returns:
- Product keychain
-
setKeychain
- Parameters:
keychain
- ProductKeyChain to set
-
getHistoryDepth
-
setHistoryDepth
-
isAllowUnknownSigner
public boolean isAllowUnknownSigner()- Returns:
- boolean AllowUnknownSigner
-
setAllowUnknownSigner
public void setAllowUnknownSigner(boolean allowUnknownSigner) - Parameters:
allowUnknownSigner
- boolean to set
-
verifySignature
Attempt to verify a products signature.- Parameters:
product
- product to verify.- Returns:
- true if the signature is from a key in the keychain.
- Throws:
InvalidSignatureException
- if rejectInvalidSignatures=true, and signature was not verified; allowUnknownSigner=true prevents this exception when no keys are found in the keychain for the product.Exception
- if error occurs
-