# CertSelector

public interface **CertSelector** implements [Cloneable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Cloneable.html)

|---|---|---|
| Known Indirect Subclasses [X509CertSelector](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/cert/X509CertSelector.html) |---|---| | [X509CertSelector](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/cert/X509CertSelector.html) | A `CertSelector` that selects `X509Certificates` that match all specified criteria. | |||

A selector that defines a set of criteria for selecting
`Certificate`s. Classes that implement this interface
are often used to specify which `Certificate`s should
be retrieved from a `CertStore`.


**Concurrent Access**


Unless otherwise specified, the methods defined in this interface are not
thread-safe. Multiple threads that need to access a single
object concurrently should synchronize amongst themselves and
provide the necessary locking. Multiple threads each manipulating
separate objects need not synchronize.

##### See Also

- `https://developers.google.com/j2objc/javadoc/jre/reference/java/security/cert/Certificate.html`
- `https://developers.google.com/j2objc/javadoc/jre/reference/java/security/cert/CertStore.html`
- `https://developers.google.com/j2objc/javadoc/jre/reference/java/security/cert/CertStore.html#getCertificates(java.security.cert.CertSelector)`

### Public Method Summary

|---|---|
| abstract [Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) | [clone](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/cert/CertSelector.html#clone())() Makes a copy of this `CertSelector`. |
| abstract boolean | [match](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/cert/CertSelector.html#match(java.security.cert.Certificate))([Certificate](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/cert/Certificate.html) cert) Decides whether a `Certificate` should be selected. |

## Public Methods

#### public abstract [Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html)
**clone**
()

Makes a copy of this `CertSelector`. Changes to the
copy will not affect the original and vice versa.

##### Returns

- a copy of this `CertSelector`

#### public abstract boolean
**match**
([Certificate](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/cert/Certificate.html) cert)

Decides whether a `Certificate` should be selected.

##### Parameters

| cert | the `Certificate` to be checked |
|---|---|

##### Returns

- `true` if the `Certificate` should be selected, `false` otherwise