Class TrustEngine
java.lang.Object
org.eclipse.osgi.service.security.TrustEngine
A
TrustEngine
is used to establish the authenticity of a
Certificate
chain.
Clients may implement this interface.
- Since:
- 3.4
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddTrustAnchor
(Certificate anchor, String alias) Add a trust anchor point to this trust engine.protected abstract String
doAddTrustAnchor
(Certificate anchor, String alias) Add a trust anchor point to this trust engine.protected abstract void
doRemoveTrustAnchor
(String alias) Remove a trust anchor point from the engine, based on the human readable "friendly name"protected abstract void
doRemoveTrustAnchor
(Certificate anchor) Remove a trust anchor point from the engine, based on the certificate itself.abstract Certificate
findTrustAnchor
(Certificate[] chain) Returns the certificate trust anchor contained in the specified chain which was used to establish the authenticity of the chain.abstract String[]
Return the list of friendly name aliases for the TrustAnchors installed in the engine.abstract String
getName()
Return a representation string of this trust engineabstract Certificate
getTrustAnchor
(String alias) Return the certificate associated with the unique "friendly name" in the engine.abstract boolean
Return a value indicate whether this trust engine is read-only.void
removeTrustAnchor
(String alias) Remove a trust anchor point from the engine, based on the human readable "friendly name"final void
removeTrustAnchor
(Certificate anchor) Remove a trust anchor point from the engine, based on the certificate itself.
-
Constructor Details
-
TrustEngine
public TrustEngine()
-
-
Method Details
-
findTrustAnchor
Returns the certificate trust anchor contained in the specified chain which was used to establish the authenticity of the chain. If no trust anchor is found in the chain thennull
is returned.- Parameters:
chain
- - a complete or incomplete certificate chain, implementations *MAY* complete chains- Returns:
- - the certificate trust anchor used to establish authenticity
- Throws:
IOException
- if there is a problem connecting to the backing store
-
addTrustAnchor
public String addTrustAnchor(Certificate anchor, String alias) throws IOException, GeneralSecurityException Add a trust anchor point to this trust engine. A trust anchor implies that a certificate, and any of its children, is to be considered trusted. Ifnull
is used as the alias then an alias will be generated based on the trust anchor certificate.- Parameters:
anchor
- - the certificate to add as an anchor pointalias
- - a unique and human-readable 'friendly name' which can be used to reference the certificate. Anull
value may be used.- Returns:
- the alias used to store the entry
- Throws:
IOException
- if there is a problem connecting to the backing storeGeneralSecurityException
- if there is a certificate problemIllegalArgumentException
- if the alias or anchor already exist in this trust engine
-
doAddTrustAnchor
protected abstract String doAddTrustAnchor(Certificate anchor, String alias) throws IOException, GeneralSecurityException Add a trust anchor point to this trust engine. A trust anchor implies that a certificate, and any of its children, is to be considered trusted. Ifnull
is used as the alias then an alias will be generated based on the trust anchor certificate.- Parameters:
anchor
- - the certificate to add as an anchor pointalias
- - a unique and human-readable 'friendly name' which can be used to reference the certificate. Anull
value may be used.- Returns:
- the alias used to store the entry
- Throws:
IOException
- if there is a problem connecting to the backing storeGeneralSecurityException
- if there is a certificate problemIllegalArgumentException
- if the alias or anchor already exist in this trust engine
-
removeTrustAnchor
public final void removeTrustAnchor(Certificate anchor) throws IOException, GeneralSecurityException Remove a trust anchor point from the engine, based on the certificate itself.- Parameters:
anchor
- - the certificate to be removed- Throws:
IOException
- if there is a problem connecting to the backing storeGeneralSecurityException
- if there is a certificate problem
-
doRemoveTrustAnchor
protected abstract void doRemoveTrustAnchor(Certificate anchor) throws IOException, GeneralSecurityException Remove a trust anchor point from the engine, based on the certificate itself.- Parameters:
anchor
- - the certificate to be removed- Throws:
IOException
- if there is a problem connecting to the backing storeGeneralSecurityException
- if there is a certificate problem
-
removeTrustAnchor
Remove a trust anchor point from the engine, based on the human readable "friendly name"- Parameters:
alias
- - the name of the trust anchor- Throws:
IOException
- if there is a problem connecting to the backing storeGeneralSecurityException
- if there is a certificate problem
-
doRemoveTrustAnchor
protected abstract void doRemoveTrustAnchor(String alias) throws IOException, GeneralSecurityException Remove a trust anchor point from the engine, based on the human readable "friendly name"- Parameters:
alias
- - the name of the trust anchor- Throws:
IOException
- if there is a problem connecting to the backing storeGeneralSecurityException
- if there is a certificate problem
-
getTrustAnchor
public abstract Certificate getTrustAnchor(String alias) throws IOException, GeneralSecurityException Return the certificate associated with the unique "friendly name" in the engine.- Parameters:
alias
- - the friendly name- Returns:
- the associated trust anchor
- Throws:
IOException
- if there is a problem connecting to the backing storeGeneralSecurityException
- if there is a certificate problem
-
getAliases
Return the list of friendly name aliases for the TrustAnchors installed in the engine.- Returns:
- string[] - the list of friendly name aliases
- Throws:
IOException
- if there is a problem connecting to the backing storeGeneralSecurityException
- if there is a certificate problem
-
isReadOnly
public abstract boolean isReadOnly()Return a value indicate whether this trust engine is read-only.- Returns:
- true if this trust engine is read-only false otherwise.
-
getName
Return a representation string of this trust engine- Returns:
- a string
-