# Google Certificate Authority Service V1 Client - Class KeyUsage (2.4.0)

2.4.0 (latest) 2.3.0 2.2.2 2.1.1 2.0.3 1.7.3 1.5.0 1.4.2 1.3.1 1.2.2 1.1.0 1.0.3 Reference documentation and code samples for the Google Certificate Authority Service V1 Client class KeyUsage.

A [KeyUsage](https://docs.cloud.google.com/php/docs/reference/cloud-security-private-ca/latest/V1.KeyUsage) describes key usage
values that may appear in an X.509 certificate.

Generated from protobuf message `google.cloud.security.privateca.v1.KeyUsage`

## Namespace

Google \\ Cloud \\ Security \\ PrivateCA \\ V1

## Methods

### __construct

Constructor.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `data` | `array` Optional. Data for populating the Message object. |
| `↳ base_key_usage` | `https://docs.cloud.google.com/php/docs/reference/cloud-security-private-ca/latest/V1.KeyUsage.KeyUsageOptions` Describes high-level ways in which a key may be used. |
| `↳ extended_key_usage` | `https://docs.cloud.google.com/php/docs/reference/cloud-security-private-ca/latest/V1.KeyUsage.ExtendedKeyUsageOptions` Detailed scenarios in which a key may be used. |
| `↳ unknown_extended_key_usages` | `array<https://docs.cloud.google.com/php/docs/reference/cloud-security-private-ca/latest/V1.ObjectId>` Used to describe extended key usages that are not listed in the [KeyUsage.ExtendedKeyUsageOptions](https://docs.cloud.google.com/php/docs/reference/cloud-security-private-ca/latest/V1.KeyUsage.ExtendedKeyUsageOptions) message. |

### getBaseKeyUsage

Describes high-level ways in which a key may be used.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/php/docs/reference/cloud-security-private-ca/latest/V1.KeyUsage.KeyUsageOptions|null` |   |

### hasBaseKeyUsage

### clearBaseKeyUsage

### setBaseKeyUsage

Describes high-level ways in which a key may be used.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `var` | `https://docs.cloud.google.com/php/docs/reference/cloud-security-private-ca/latest/V1.KeyUsage.KeyUsageOptions` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$this` |   |

### getExtendedKeyUsage

Detailed scenarios in which a key may be used.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/php/docs/reference/cloud-security-private-ca/latest/V1.KeyUsage.ExtendedKeyUsageOptions|null` |   |

### hasExtendedKeyUsage

### clearExtendedKeyUsage

### setExtendedKeyUsage

Detailed scenarios in which a key may be used.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `var` | `https://docs.cloud.google.com/php/docs/reference/cloud-security-private-ca/latest/V1.KeyUsage.ExtendedKeyUsageOptions` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$this` |   |

### getUnknownExtendedKeyUsages

Used to describe extended key usages that are not listed in the
[KeyUsage.ExtendedKeyUsageOptions](https://docs.cloud.google.com/php/docs/reference/cloud-security-private-ca/latest/V1.KeyUsage.ExtendedKeyUsageOptions)
message.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://protobuf.dev/reference/php/api-docs/Google/Protobuf/RepeatedField<https://docs.cloud.google.com/php/docs/reference/cloud-security-private-ca/latest/V1.ObjectId>` |   |

### setUnknownExtendedKeyUsages

Used to describe extended key usages that are not listed in the
[KeyUsage.ExtendedKeyUsageOptions](https://docs.cloud.google.com/php/docs/reference/cloud-security-private-ca/latest/V1.KeyUsage.ExtendedKeyUsageOptions)
message.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `var` | `array<https://docs.cloud.google.com/php/docs/reference/cloud-security-private-ca/latest/V1.ObjectId>` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `$this` |   |