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

## Constants
### `AUTH_VERSION` <a id="constant-AUTH_VERSION"></a> <a id="AUTH_VERSION-constant"></a>
Protocol version

### `MSG_CERT_REQUEST` <a id="constant-MSG_CERT_REQUEST"></a> <a id="MSG_CERT_REQUEST-constant"></a>
Not documented.

### `MSG_CERT_RESPONSE` <a id="constant-MSG_CERT_RESPONSE"></a> <a id="MSG_CERT_RESPONSE-constant"></a>
Not documented.

### `MSG_GENERAL` <a id="constant-MSG_GENERAL"></a> <a id="MSG_GENERAL-constant"></a>
Not documented.

### `MSG_INITIAL_REQUEST` <a id="constant-MSG_INITIAL_REQUEST"></a> <a id="MSG_INITIAL_REQUEST-constant"></a>
Message type string constants (matching ts-sdk/go-sdk)

### `MSG_INITIAL_RESPONSE` <a id="constant-MSG_INITIAL_RESPONSE"></a> <a id="MSG_INITIAL_RESPONSE-constant"></a>
Not documented.

## 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>
Retrieves verifiable certificates from a wallet for presentation to a
verifier.

Delegates to {GetVerifiableCertificates#get_verifiable_certificates}.
- **@param** `wallet` [#list_certificates, #prove_certificate] the subject's wallet
- **@param** `requested_certificates` [Hash] certifiers and type-to-fields mapping
- **@param** `verifier_identity_key` [String] verifier's compressed public key hex
- **@return** [Array<VerifiableCertificate>]

### `validate_certificates(wallet, message, requested_certificates = nil)` <a id="method-c-validate_certificates"></a> <a id="validate_certificates-class_method"></a>
Validates certificates attached to an incoming authenticated message.

Delegates to {ValidateCertificates#validate_certificates}.
- **@param** `wallet` [#verify_signature, #decrypt] the verifier's wallet
- **@param** `message` [Hash] incoming authenticated message
- **@param** `requested_certificates` [Hash, nil] optional certifier/type filter
- **@raise** [AuthError] on any validation failure
