

适用于 JavaScript 的 AWS SDK v2 已终止支持。建议您迁移到 [适用于 JavaScript 的 AWS SDK v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/)。有关更多详情和如何迁移的信息，请参阅本[公告](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)。

# 使用 IAM 服务器证书
<a name="iam-examples-server-certificates"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/zh_cn/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**此 Node.js 代码示例演示：**
+ 如何执行管理 HTTPS 连接的服务器证书的基本任务。

## 情景
<a name="iam-examples-server-certificates-scenario"></a>

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

本示例使用一系列 Node.js 模块在 IAM 中处理服务器证书。这些 Node.js 模块使用 SDK for JavaScript，通过 `AWS.IAM` 客户端类的以下方法来管理服务器证书：
+ [listServerCertificates](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#listServerCertificates-property)
+ [getServerCertificate](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#getServerCertificate-property)
+ [updateServerCertificate](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#updateServerCertificate-property)
+ [deleteServerCertificate](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#deleteServerCertificate-property)

有关服务器证书的更多信息，请参阅《IAM 用户指南》**中的[使用服务器证书](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html)。

## 先决条件任务
<a name="iam-examples-server-certificates-prerequisites"></a>

要设置和运行此示例，您必须先完成以下任务：
+ 安装 Node.js。有关安装 Node.js 的更多信息，请参阅 [Node.js 网站](https://nodejs.org)。
+ 使用用户凭证创建共享配置文件。有关提供共享凭证文件的更多信息，请参阅[从共享凭证文件加载 Node.js 中的凭证](loading-node-credentials-shared.md)。

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

创建文件名为 `iam_listservercerts.js` 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM，请创建 `AWS.IAM` 服务对象。调用 `listServerCertificates` 服务对象的 `AWS.IAM` 方法。

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the IAM service object
var iam = new AWS.IAM({ apiVersion: "2010-05-08" });

iam.listServerCertificates({}, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

要运行示例，请在命令行中键入以下内容。

```
node iam_listservercerts.js
```

此示例代码可在 [GitHub 上的此处](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_listservercerts.js)找到。

## 获取服务器证书
<a name="iam-examples-server-certificates-getting"></a>

创建文件名为 `iam_getservercert.js` 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM，请创建 `AWS.IAM` 服务对象。创建一个包含获取证书时所需参数的 JSON 对象，该对象包含您需要的服务器证书的名称。调用 `getServerCertificates` 服务对象的 `AWS.IAM` 方法。

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the IAM service object
var iam = new AWS.IAM({ apiVersion: "2010-05-08" });

iam.getServerCertificate(
  { ServerCertificateName: "CERTIFICATE_NAME" },
  function (err, data) {
    if (err) {
      console.log("Error", err);
    } else {
      console.log("Success", data);
    }
  }
);
```

要运行示例，请在命令行中键入以下内容。

```
node iam_getservercert.js
```

此示例代码可在 [GitHub 上的此处](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_getservercert.js)找到。

## 更新服务器证书
<a name="iam-examples-server-certificates-updating"></a>

创建文件名为 `iam_updateservercert.js` 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM，请创建 `AWS.IAM` 服务对象。创建一个包含更新证书时所需参数的 JSON 对象，其中包括现有服务器证书的名称以及新证书的名称。调用 `updateServerCertificate` 服务对象的 `AWS.IAM` 方法。

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the IAM service object
var iam = new AWS.IAM({ apiVersion: "2010-05-08" });

var params = {
  ServerCertificateName: "CERTIFICATE_NAME",
  NewServerCertificateName: "NEW_CERTIFICATE_NAME",
};

iam.updateServerCertificate(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

要运行示例，请在命令行中键入以下内容。

```
node iam_updateservercert.js
```

此示例代码可在 [GitHub 上的此处](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_updateservercert.js)找到。

## 删除服务器证书
<a name="iam-examples-server-certificates-deleting"></a>

创建文件名为 `iam_deleteservercert.js` 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM，请创建 `AWS.IAM` 服务对象。创建一个包含删除服务器证书时所需参数的 JSON 对象，该对象包含您要删除的证书的名称。调用 `deleteServerCertificates` 服务对象的 `AWS.IAM` 方法。

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the IAM service object
var iam = new AWS.IAM({ apiVersion: "2010-05-08" });

iam.deleteServerCertificate(
  { ServerCertificateName: "CERTIFICATE_NAME" },
  function (err, data) {
    if (err) {
      console.log("Error", err);
    } else {
      console.log("Success", data);
    }
  }
);
```

要运行示例，请在命令行中键入以下内容。

```
node iam_deleteservercert.js
```

此示例代码可在 [GitHub 上的此处](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_deleteservercert.js)找到。