

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 结合使用 IAM 服务器证书与 适用于 PHP 的 Amazon SDK 版本 3
<a name="iam-examples-working-with-certs"></a>

要在 Amazon 上启用网站或应用程序的 HTTPS 连接，需要 SSL/TLS 服务器证书。要在 Amazon 上将从外部提供程序获得的证书与网站或应用程序结合使用，必须将证书上传到 IAM 或者导入 Amazon Certificate Manager 。

以下示例演示如何：
+ 使用 [ListServerCertificates](https://docs.amazonaws.cn/aws-sdk-php/v3/api/api-iam-2010-05-08.html#listservercertificates) 列出 IAM 中存储的证书。
+ 使用 [GetServerCertificate](https://docs.amazonaws.cn/aws-sdk-php/v3/api/api-iam-2010-05-08.html#getservercertificate) 检索有关证书的信息。
+ 使用 [UpdateServerCertificate](https://docs.amazonaws.cn/aws-sdk-php/v3/api/api-iam-2010-05-08.html#updateservercertificate) 更新证书。
+ 使用 [DeleteServerCertificate](https://docs.amazonaws.cn/aws-sdk-php/v3/api/api-iam-2010-05-08.html#deleteservercertificate) 删除证书。

适用于 PHP 的 Amazon SDKGitHub[ 上提供了](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code)的所有示例代码。

## 凭证
<a name="examplecredentials"></a>

运行示例代码之前，请配置您的 Amazon 凭证，如 [Amazon 使用 适用于 PHP 的 Amazon SDK 版本 3 进行身份验证](credentials.md) 中所述。然后导入 适用于 PHP 的 Amazon SDK，如 [安装 适用于 PHP 的 Amazon SDK 版本 3](getting-started_installation.md) 中所述。

## 列出服务器证书
<a name="list-server-certificates"></a>

 **导入**。

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
use Aws\Iam\IamClient;
```

 **示例代码** 

```
$client = new IamClient([
    'profile' => 'default',
    'region' => 'us-west-2',
    'version' => '2010-05-08'
]);

try {
    $result = $client->listServerCertificates();
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    error_log($e->getMessage());
}
```

## 检索服务器证书
<a name="retrieve-a-server-certificate"></a>

 **导入**。

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
use Aws\Iam\IamClient;
```

 **示例代码** 

```
$client = new IamClient([
    'profile' => 'default',
    'region' => 'us-west-2',
    'version' => '2010-05-08'
]);

try {
    $result = $client->getServerCertificate([
        // ServerCertificateName is required
        'ServerCertificateName' => 'string',
    ]);
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    error_log($e->getMessage());
}
```

## 更新服务器证书
<a name="update-a-server-certificate"></a>

 **导入**。

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
use Aws\Iam\IamClient;
```

 **示例代码** 

```
$client = new IamClient([
    'profile' => 'default',
    'region' => 'us-west-2',
    'version' => '2010-05-08'
]);

try {
    $result = $client->updateServerCertificate([
        // ServerCertificateName is required
        'ServerCertificateName' => 'string',
        'NewServerCertificateName' => 'string',
    ]);
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    error_log($e->getMessage());
}
```

## 删除服务器证书
<a name="delete-a-server-certificate"></a>

 **导入**。

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
use Aws\Iam\IamClient;
```

 **示例代码** 

```
$client = new IamClient([
    'profile' => 'default',
    'region' => 'us-west-2',
    'version' => '2010-05-08'
]);

try {
    $result = $client->deleteServerCertificate([
        // ServerCertificateName is required
        'ServerCertificateName' => 'string',
    ]);
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    error_log($e->getMessage());
}
```