Package org.italiangrid.voms.store

# Interface VOMSTrustStore

All Known Subinterfaces:
  `UpdatingVOMSTrustStore`

All Known Implementing Classes:
  `DefaultUpdatingVOMSTrustStore`, `DefaultVOMSTrustStore`

public interface VOMSTrustStore
The VOMS trust store takes care of parsing local trusted information (being certificates or LSC files) for known VOMS servers.

Author:
  Andrea Ceccanti

## Method Summary

Modifier and Type
Method
Description
`X509Certificate`
`getAACertificateBySubject(X500Principal aaCertSubject)`
Returns the VOMS Attribute Authority certificate held in this `VOMSTrustStore` whose subject matches the subject passed as argument.
`Map<String,Set<LSCInfo>>`
`getAllLSCInfo()`
Returns all the LSC information held in this `VOMSTrustStore`.
`List<X509Certificate>`
`getLocalAACertificates()`
Returns the list of VOMS Attribute Authority certificates held in this `VOMSTrustStore`.
`List<String>`
`getLocalTrustedDirectories()`
Returns the locally trusted directories where VOMS trust information (being VOMS server certificates or LSC files) are searched for.
`LSCInfo`
`getLSC(String voName, String hostname)`
Returns the LSC information held in this `VOMSTrustStore` for the vo and hostname passed as arguments.
`void`
`loadTrustInformation()`
Loads trust information from the sources configured for this trust store.
`void`
`setStatusListener(VOMSTrustStoreStatusListener statusListener)`
Sets a `VOMSTrustStoreStatusListener` that is notified of events related to this VOMS trust store

## Method Details

### getLocalTrustedDirectories

List<String> getLocalTrustedDirectories()
Returns the locally trusted directories where VOMS trust information (being VOMS server certificates or LSC files) are searched for.

Returns:
  a `List` of local paths

### getLocalAACertificates

List<X509Certificate> getLocalAACertificates()
Returns the list of VOMS Attribute Authority certificates held in this `VOMSTrustStore`.

Returns:
  the collection of VOMS Attribute Authority certificates held in this `VOMSTrustStore`, an empty list if no certificate was found.

### getAACertificateBySubject

X509Certificate getAACertificateBySubject(X500Principal aaCertSubject)
Returns the VOMS Attribute Authority certificate held in this `VOMSTrustStore` whose subject matches the subject passed as argument.

Parameters:
  `aaCertSubject` - a certificate subject
Returns:
  the VOMS AA `X509Certificate` that matches the subject passed as argument or null if no matching certificate is found in this store

### getLSC

LSCInfo getLSC(String voName, String hostname)
Returns the LSC information held in this `VOMSTrustStore` for the vo and hostname passed as arguments.

Parameters:
  `voName` - the name of the VO for which the LSC applies
  `hostname` - the name of the host for which the LSC applies
Returns:
  a `LSCInfo` object, or null if no LSC matching the arguments was found

### getAllLSCInfo

Map<String,Set<LSCInfo>> getAllLSCInfo()
Returns all the LSC information held in this `VOMSTrustStore`. The returned `Map` is keyed by VO name.

Returns:
  a possibly empty map `LSCInfo` objects

### loadTrustInformation

void loadTrustInformation()
Loads trust information from the sources configured for this trust store.

### setStatusListener

void setStatusListener(VOMSTrustStoreStatusListener statusListener)
Sets a `VOMSTrustStoreStatusListener` that is notified of events related to this VOMS trust store

Parameters:
  `statusListener` - the status listener that will be notified