StyleBooksを使用して証明書ストアからSSL証明書を管理します
Citrix ADM証明書ストアを使用すると、SSL証明書を1か所に保存して管理できます。そのため、SSL証明書をCitrix ADMに保存し、ADC構成中に再利用できます。
この記事では、Citrix ADM 証明書ストアからSSL証明書をアップロードして再利用できるStyleBook定義を作成する方法について説明します。
パラメーター
StyleBookの定義は 、 certkey
を新しい組み込みパラメータタイプとしてサポートします。このパラメータタイプを使用して、Citrix ADM 証明書ストアからのSSL証明書を再利用します。
parameters:
-
name: certificate
label: Certificate
description: "Certificate to be bound to this virtual load balanced application"
type: certkey
required: true
<!--NeedCopy-->
この例では、証明書パラメーターは、Citrix ADM 証明書ストアからの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
パラメーターがある場合、StyleBookユーザーはCitrix ADM証明書ストアからこのパラメーターの証明書を提供できます。このワークフローでは、Citrix ADM 証明書ストアからの証明書の表示と選択に加えて、ユーザーは次の操作も実行できます。
- 新しい証明書をアップロードします。
- 既存の証明書を更新します。たとえば、期限切れの証明書などです。
- 証明書を削除します。
注
Citrix ADM SSLダッシュボードを使用して、Citrix ADM 証明書ストア内の証明書を管理することもできます。
Citrix ADM 証明書ストアでSSL証明書が更新されると、SSL証明書に関連する構成パックが自動的に更新されます。
スタイルブックを構築する
以下はStyleBookの定義の例です。これは、Citrix ADM 証明書ストアからのSSL証明書を使用する完全な定義です。このStyleBookには、メイン証明書とキーファイルをADCインスタンスにアップロードするコンポーネントが含まれています。これらのファイルがすでにADCインスタンスに存在する場合、Citrix ADM はアップロード手順をスキップし、これらのコンポーネントは効果がありません。
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 Citrix ADC
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 Citrix ADC.
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 ADC 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-->