# Module BSV::Auth::GetVerifiableCertificates <a id="module-BSV-Auth-GetVerifiableCertificates"></a>

Utility module for retrieving verifiable certificates from a wallet.

Used during the certificate exchange phase of the BSV Auth peer protocol.
Lists certificates matching the requested certifiers and types, then calls
`prove_certificate` for each to obtain a verifier-specific keyring for
selective field revelation.

## Public Class Methods
### `get_verifiable_certificates(wallet, requested_certificates, verifier_identity_key)` <a id="method-c-get_verifiable_certificates"></a> <a id="get_verifiable_certificates-class_method"></a>
Retrieve verifiable certificates from a wallet for presentation to a verifier.
- **@param** `wallet` [#list_certificates, #prove_certificate] the subject's wallet.
Duck-typed — if the wallet does not respond to both methods, returns +[]+.
- **@param** `requested_certificates` [Hash] with keys:
- +:certifiers+ [Array<String>] list of certifier public key hexes
- +:types+ [Hash] type (Base64 string) → array of field names to reveal
- **@param** `verifier_identity_key` [String] the verifier's compressed public key hex
- **@raise** [StandardError] propagates unexpected errors (network failures, key derivation
errors, etc.) to the caller — only +UnsupportedActionError+ is swallowed
- **@return** [Array<VerifiableCertificate>] list of verifiable certificates ready for
presentation, or +[]+ when the wallet does not support certificate operations
