Verwalten von SSL-Zertifikaten aus dem Zertifikatsspeicher mithilfe von StyleBooks
Der NetScaler Console-Zertifikatsspeicher hilft Ihnen, Ihre SSL-Zertifikate an einem zentralen Ort zu speichern und zu verwalten. So können Sie SSL-Zertifikate in NetScaler Console speichern und während der NetScaler-Konfiguration wiederverwenden.
Dieser Artikel beschreibt, wie Sie eine StyleBook-Definition erstellen, mit der Sie SSL-Zertifikate aus dem NetScaler Console-Zertifikatsspeicher hochladen und wiederverwenden können.
Parameter
Die StyleBook-Definition unterstützt certkey als neuen integrierten Parametertyp. Verwenden Sie diesen Parametertyp, um SSL-Zertifikate aus dem NetScaler Console-Zertifikatsspeicher wiederzuverwenden.
parameters:
-
name: certificate
label: Certificate
description: "Certificate to be bound to this virtual load balanced application"
type: certkey
required: true
<!--NeedCopy-->
In diesem Beispiel bezieht sich der Zertifikatsparameter auf ein SSL-Zertifikat oder eine Zertifikatskette aus dem NetScaler Console-Zertifikatsspeicher.
In der StyleBook-Definition können Sie sich auf die folgenden Eigenschaften für einen certkey-Parameter beziehen:
-
certkeyname– Name des SSL-Zertifikatsschlüssels, den Sie auf einer Instanz konfigurieren möchten. -
cert_filename– Dateiname eines SSL-Zertifikats. -
password– Passwort, das bei Bedarf für den Zugriff auf ein SSL-Zertifikat erforderlich ist. -
key_filename– Dateiname eines SSL-Zertifikatsschlüssels. -
keyfile_contents– Inhalt eines SSL-Zertifikats. -
subject– Betreff, der in einem SSL-Zertifikat erwähnt wird. -
issuer– Ausstellende Behörde des SSL-Zertifikats. -
certchain_certkeyname– Name der Zertifikatskette.Hinweis:
Manchmal signieren viele hierarchische Zertifizierungsstellen (CA) die Serverzertifikate, was bedeutet, dass die Zertifikate eine Kette bilden. Verwenden Sie diese Eigenschaft, wenn der Zertifikatsspeicher eine Zertifikatskette enthält. Sie hilft Ihnen, die Zertifikate zu referenzieren und miteinander zu verbinden. Wenn Sie ein Konfigurationspaket erstellen, wird die Zertifikatskette als Liste angezeigt.
Diese Eigenschaften helfen Ihnen, die erforderlichen Komponenten in der StyleBook-Definition zu erstellen.
Komponenten
Wenn ein StyleBook einen Parameter vom Typ type: certkey hat, können Sie für diesen Parameter ein Zertifikat aus dem NetScaler Console-Zertifikatsspeicher bereitstellen. In diesem Workflow können Sie nicht nur Zertifikate aus dem NetScaler Console-Zertifikatsspeicher anzeigen und auswählen, sondern auch Folgendes tun:
- Neue Zertifikate hochladen.
- Bestehende Zertifikate aktualisieren. Zum Beispiel abgelaufene Zertifikate.
- Zertifikate entfernen.
Hinweis:
- Sie können Zertifikate im NetScaler Console-Zertifikatsspeicher auch über das NetScaler Console SSL-Dashboard verwalten.
- Nachdem Sie ein SSL-Zertifikat im NetScaler Console-Zertifikatsspeicher aktualisiert haben, müssen Sie die mit dem SSL-Zertifikat verknüpften Konfigurationspakete aktualisieren. Weitere Informationen zum Aktualisieren von Konfigurationspaketen finden Sie unter Verwenden von APIs zum Aktualisieren eines vorhandenen Konfigurationspakets oder Erstellen und Bearbeiten eines Konfigurationspakets.
Erstellen Sie Ihr StyleBook
Die folgende StyleBook-Definition verwendet SSL-Zertifikate aus dem NetScaler Console-Zertifikatsspeicher. Dieses StyleBook enthält Komponenten, die die Hauptzertifikats- und Schlüsseldateien auf die NetScaler-Instanz hochladen. Wenn diese Dateien bereits auf der NetScaler-Instanz vorhanden sind, überspringt NetScaler Console die Upload-Schritte, und diese Komponenten haben keine Auswirkung.
name: lb-with-cert-from-certstore
namespace: com.example.stylebooks
version: "1.0"
display-name: Anwendung, die ein CertStore-Zertifikat verwendet
description: Dieses StyleBook definiert einen einfachen SSL-Vserver.
schema-version: "1.0"
import-stylebooks:
-
namespace: netscaler.nitro.config
version: "13.0"
prefix: ns
parameters:
-
name: name
type: string
label: Anwendungsname
description: Geben Sie der Anwendungskonfiguration einen Namen.
required: true
-
name: ip
type: ipaddress
label: Virtuelle IP (VIP) der Anwendung
description: Die Anwendungs-VIP, auf die Clients zugreifen
required: true
-
name: certificate
label: Anwendungszertifikat
description: Zertifikatskette und Schlüssel, die an diese Anwendung gebunden werden sollen
type: certkey
required: true
components:
-
name: pem-cert-files-comp
type: ns::systemfile
description: Diese Komponente lädt die PEM-Zertifikatsdatei auf den NetScaler hoch
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: Diese Komponente lädt die PEM-Schlüsseldatei auf den NetScaler hoch.
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: Diese Komponente erstellt den Zertifikatsschlüssel auf dem NetScaler unter Verwendung der hochgeladenen Dateien.
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: Diese Komponente erstellt den Lbvserver der Anwendung.
properties:
name: $parameters.name + "-lbvserver"
servicetype: SSL
ipv46: $parameters.ip
port: 443
lbmethod: ROUNDROBIN
components:
-
name: sslvserver-comp
type: ns::sslvserver
description: Diese Komponente konfiguriert SSL-Einstellungen auf dem Vserver
properties:
vservername: $parent.properties.name
ssl3?: ENABLED
tls1?: ENABLED
tls11?: ENABLED
-
name: cert-bindings-adv-comp
type: ns::sslvserver_sslcertkey_binding
description: Diese Komponente bindet den Zertifikatsschlüssel an den Vserver
condition: $parameters.certificate
properties:
vservername: $parent.properties.name
certkeyname: $parameters.certificate.certkeyname
<!--NeedCopy-->