[PERS SDK - v2.3.26](/sdk-reference/readme) / [Exports](/sdk-reference/modules) / WebDPoPCryptoProvider

# Class: WebDPoPCryptoProvider

## Implements

- [`DPoPCryptoProvider`](/sdk-reference/interfaces/dpopcryptoprovider)


## Table of contents

### Constructors

- [constructor](/sdk-reference/classes/webdpopcryptoprovider#constructor)


### Methods

- [generateKeyPair](/sdk-reference/classes/webdpopcryptoprovider#generatekeypair)
- [signProof](/sdk-reference/classes/webdpopcryptoprovider#signproof)
- [hashAccessToken](/sdk-reference/classes/webdpopcryptoprovider#hashaccesstoken)


## Constructors

### constructor

• **new WebDPoPCryptoProvider**(): [`WebDPoPCryptoProvider`](/sdk-reference/classes/webdpopcryptoprovider)

#### Returns

[`WebDPoPCryptoProvider`](/sdk-reference/classes/webdpopcryptoprovider)

## Methods

### generateKeyPair

▸ **generateKeyPair**(`options?`): `Promise`<[`DPoPKeyPair`](/sdk-reference/interfaces/dpopkeypair)>

Generates a new key pair (ES256 recommended)

#### Parameters

| Name | Type |
|  --- | --- |
| `options?` | `Object` |
| `options.extractable?` | `boolean` |


#### Returns

`Promise`<[`DPoPKeyPair`](/sdk-reference/interfaces/dpopkeypair)>

#### Implementation of

[DPoPCryptoProvider](/sdk-reference/interfaces/dpopcryptoprovider).[generateKeyPair](/sdk-reference/interfaces/dpopcryptoprovider#generatekeypair)

#### Defined in

[core/auth/dpop/web-crypto-dpop-provider.ts:12](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/dpop/web-crypto-dpop-provider.ts#L12)

### signProof

▸ **signProof**(`payload`, `keyPair`): `Promise`<`string`>

Signs the DPoP proof

#### Parameters

| Name | Type | Description |
|  --- | --- | --- |
| `payload` | `Record`<`string`, `any`> | Pre-constructed payload without standard claims that crypto might handle or raw claims |
| `keyPair` | [`DPoPKeyPair`](/sdk-reference/interfaces/dpopkeypair) | The key pair to sign with |


#### Returns

`Promise`<`string`>

#### Implementation of

[DPoPCryptoProvider](/sdk-reference/interfaces/dpopcryptoprovider).[signProof](/sdk-reference/interfaces/dpopcryptoprovider#signproof)

#### Defined in

[core/auth/dpop/web-crypto-dpop-provider.ts:48](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/dpop/web-crypto-dpop-provider.ts#L48)

### hashAccessToken

▸ **hashAccessToken**(`accessToken`): `Promise`<`string`>

Hashes an access token for the 'ath' claim (SHA-256 base64url)

#### Parameters

| Name | Type |
|  --- | --- |
| `accessToken` | `string` |


#### Returns

`Promise`<`string`>

#### Implementation of

[DPoPCryptoProvider](/sdk-reference/interfaces/dpopcryptoprovider).[hashAccessToken](/sdk-reference/interfaces/dpopcryptoprovider#hashaccesstoken)

#### Defined in

[core/auth/dpop/web-crypto-dpop-provider.ts:105](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/core/auth/dpop/web-crypto-dpop-provider.ts#L105)