Application Delivery Management

StyleBook を使用した証明書ストアからの SSL 証明書の管理

NetScaler Console の証明書ストアは、SSL 証明書を一元的に保存および管理するのに役立ちます。これにより、NetScaler Console に SSL 証明書を保存し、NetScaler の構成時に再利用できます。

この記事では、NetScaler Console の証明書ストアから SSL 証明書をアップロードして再利用できる StyleBook 定義を作成する方法について説明します。

パラメータ

StyleBook 定義は、新しい組み込みパラメータタイプとして certkey をサポートしています。このパラメータタイプを使用して、NetScaler Console の証明書ストアから SSL 証明書を再利用します。

parameters:
-
    name: certificate
    label: Certificate
    description: "Certificate to be bound to this virtual load balanced application"
    type: certkey
    required: true
<!--NeedCopy-->

この例では、証明書パラメータは、NetScaler Console の証明書ストアからの SSL 証明書または証明書チェーンを参照します。

StyleBook 定義では、certkey パラメータに対して次のプロパティを参照できます。

  • certkeyname – インスタンスで構成する SSL 証明書キーの名前。
  • cert_filename – SSL 証明書のファイル名。
  • password – 必要に応じて SSL 証明書にアクセスするために必要なパスワード。
  • key_filename – SSL 証明書キーのファイル名。
  • keyfile_contents – SSL 証明書の内容。
  • subject – SSL 証明書に記載されているサブジェクト。
  • issuer – SSL 証明書を発行した機関。
  • certchain_certkeyname – 証明書チェーンの名前。

    注:

    階層型認証局 (CA) がサーバー証明書に署名することが多く、その結果、証明書がチェーンを形成する場合があります。証明書ストアに証明書チェーンがある場合は、このプロパティを使用します。これにより、証明書を参照してまとめてバインドできます。構成パックを作成すると、証明書チェーンがリストとして表示されます。

これらのプロパティは、StyleBook 定義で必要なコンポーネントを作成するのに役立ちます。

コンポーネント

StyleBook に type: certkey パラメータがある場合、NetScaler Console の証明書ストアからこのパラメータの証明書を提供できます。このワークフローでは、NetScaler Console の証明書ストアから証明書を表示および選択するだけでなく、次のことも実行できます。

  • 新しい証明書のアップロード。
  • 既存の証明書の更新。たとえば、期限切れの証明書など。
  • 証明書の削除。

注:

  • NetScaler Console SSL ダッシュボードを使用して、NetScaler Console の証明書ストアで証明書を管理することもできます。
  • NetScaler Console の証明書ストアで SSL 証明書を更新した後、その SSL 証明書に関連付けられている構成パックを更新する必要があります。構成パックの更新の詳細については、「API を使用して既存の構成パックを更新する」または「構成パックの作成と編集」を参照してください。

StyleBook の構築

次の StyleBook 定義は、NetScaler Console の証明書ストアから SSL 証明書を使用します。この StyleBook には、メインの証明書ファイルとキーファイルを NetScaler インスタンスにアップロードするコンポーネントが含まれています。これらのファイルが NetScaler インスタンスにすでに存在する場合、NetScaler Console はアップロード手順をスキップし、これらのコンポーネントは影響を与えません。

name: lb-with-cert-from-certstore
namespace: com.example.stylebooks
version: "1.0"
display-name: Application using a CertStore certificate
description: This StyleBook defines a simple SSL Vserver.
schema-version: "1.0"

import-stylebooks:
 -
    namespace: netscaler.nitro.config
    version: "13.0"
    prefix: ns

parameters:
 -
  name: name
  type: string
  label: Application Name
  description: Give a name to the application configuration.
  required: true
 -
  name: ip
  type: ipaddress
  label: Application Virtual IP (VIP)
  description: The Application VIP that clients access
  required: true
 -
  name: certificate
  label: Application Certificate
  description: Certificate chain and key to be bound to this application
  type: certkey
  required: true


components:
 -
    name: pem-cert-files-comp
    type: ns::systemfile
    description: This component uploads the PEM certificate file onto the NetScaler
    condition: $parameters.certificate
    properties:
      filename: $parameters.certificate.cert_filename
      filelocation: /nsconfig/ssl
      filecontent: base64($parameters.certificate.certfile_contents)
      fileencoding: BASE64
 -
    name: pem-KEY-files-comp
    type: ns::systemfile
    description: This component uploads the PEM key file onto the NetScaler.
    condition: $parameters.certificate
    properties:
      filename: $parameters.certificate.key_filename
      filelocation: /nsconfig/ssl
      filecontent: base64($parameters.certificate.keyfile_contents)
      fileencoding: BASE64
 -
    name: cert-files-comp
    type: ns::sslcertkey
    description: This component creates the certkey on the NetScaler using the uploaded files.
    condition: $parameters.certificate
    properties:
      certkey:  $parameters.certificate.certkeyname
      cert: $parameters.certificate.cert_filename
      key: $parameters.certificate.key_filename
 -
  name: lbvserver-comp
  type: ns::lbvserver
  description: This component creates the lbvserver of the application.
  properties:
   name: $parameters.name + "-lbvserver"
   servicetype: SSL
   ipv46: $parameters.ip
   port: 443
   lbmethod: ROUNDROBIN
  components:
      -
        name: sslvserver-comp
        type: ns::sslvserver
        description: This component configures SSL settings on the vserver
        properties:
          vservername: $parent.properties.name
          ssl3?: ENABLED
          tls1?: ENABLED
          tls11?: ENABLED
      -
       name: cert-bindings-adv-comp
       type: ns::sslvserver_sslcertkey_binding
       description: This component binds the certkey to the vserver
       condition: $parameters.certificate
       properties:
         vservername: $parent.properties.name
         certkeyname: $parameters.certificate.certkeyname
<!--NeedCopy-->
StyleBook を使用した証明書ストアからの SSL 証明書の管理