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 StringDon't verify signatures (Default).static final intHistory depth default.static final StringProperty for verifying signature history based on depthstatic final StringProperty for a file of keys.static final StringProperty for a list of keys.static final StringAllow products that do not have a configured key.static final StringTest signatures, but don't reject invalid.static final StringProperty for whether or not to verify signatures. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidProcess configuration settings.booleanbooleanbooleanvoidsetAllowUnknownSigner(boolean allowUnknownSigner) voidsetHistoryDepth(Integer historyDepth) voidsetKeychain(ProductKeyChain keychain) voidsetRejectInvalidSignatures(boolean rejectInvalidSignatures) voidsetTestSignatures(boolean testSignatures) booleanverifySignature(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:DefaultConfigurableProcess configuration settings. Called before startup().- Specified by:
configurein interfaceConfigurable- Overrides:
configurein 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
-