Befehlsgruppe "KeyStoreCommands" für das Objekt "AdminTask"

Mit den Scripting-Sprachen Jython und Jacl können Sie über das Tool "wsadmin" Keystores konfigurieren. Ein Keystore wird vom Anwendungsserver während der Installation erstellt und kann Chiffrierschlüssel oder Zertifikate enthalten. Mit den Befehlen und Parametern der Gruppe "KeyStoreCommands" können Keystores erstellt, gelöscht und verwaltet werden.

changeKeyStorePassword

Der Befehl changeKeyStorePassword ändert das Kennwort eines Keystores. Der Befehl speichert das neue Kennwort automatisch in der Konfiguration.

Erforderliche Parameter

-keyStoreName
Gibt den Namen des Keystores an, dessen Kennwort geändert werden soll. (String, erforderlich)
-keyStorePassword
Gibt den Namen des zu ändernden Kennworts an. (String, erforderlich)
-newKeyStorePassword
Gibt das neue Kennwort an, das für den Zugriff auf den Keystore verwendet wird. (String, erforderlich)
-newKeyStorePasswordVerify
Gibt das neue Kennwort zur Bestätigung des neuen Keystore-Kennworts an. (String, erforderlich)

Optionale Parameter

-scopeName
Gibt den Verwaltungsbereich des Keystores an. (String, optional)

Beispiele

Verwendungsbeispiel für den Stapelmodus

  • Mit Jacl:
    $AdminTask changeKeyStorePassword {-keystoreName myKeystore -keyStorePassword WebAS -newKeyStorePassword neues_Kennwort -newKeyStorePasswordVerify neues_Kennwort}
  • Mit Jython (String):
    AdminTask.changeKeyStorePassword('[-keystoreName myKeystore -keyStorePassword WebAS -newKeyStorePassword neues_Kennwort -newKeyStorePasswordVerify neues_Kennwort]')
  • Mit Jython (List):
    AdminTask.changeKeyStorePassword(['-keystoreName', 'myKeystore', '-keyStorePassword', 'WebAS', '-newKeyStorePassword', 'neues_Kennwort', '-newKeyStorePasswordVerify', 'neues_Kennwort'])

Verwendungsbeispiel für den Dialogmodus:

  • Mit Jacl:
    $AdminTask changeKeyStorePassword {-interactive}
  • Mit Jython:
    AdminTask.changeKeyStorePassword('-interactive')

changeMultipleKeyStorePasswords

Der Befehl changeMultipleKeyStorePasswords aktualisiert die Kennwörter für die Keystores in der Konfiguration, die ein bestimmtes Kennwort haben. Dieser Befehl ist hilfreich, da beim Erstellen von Keystore-Dateien auf dem System für alle Keystores standardmäßig dasselbe Kennwort (WebAS) definiert wird.

Erforderliche Parameter

-keyStorePassword
Gibt das Kennwort an, das Sie ändern möchten. (String, erforderlich)
-newKeyStorePassword
Gibt das neue Kennwort an, das Sie für den Zugriff auf den Keystore verwenden möchten. (String, erforderlich)
-newKeyStorePasswordVerify
Bestätigt das neue Kennwort für den Keystore. (String, erforderlich)

Optionale Parameter

Ohne.

Beispiele

Verwendungsbeispiel für den Stapelmodus

  • Mit Jacl:
    $AdminTask changeMultipleKeyStorePasswords {-keyStorePassword WebAS -newKeyStorePassword neues_Kennwortneues_Kennwort -newKeyStorePasswordVerify neues_Kennwort}
  • Mit Jython (String):
    AdminTask.changeMultipleKeyStorePasswords('[-keyStorePassword WebAS -newKeyStorePassword neues_Kennwort -newKeyStorePasswordVerify neues_Kennwort]')
  • Mit Jython (List):
    AdminTask.changeMultipleKeyStorePasswords(['-keyStorePassword', 'WebAS', '-newKeyStorePassword', 'neues_Kennwort', '-newKeyStorePasswordVerify', 'neues_Kennwort'])

Verwendungsbeispiel für den Dialogmodus:

  • Mit Jacl:
    $AdminTask changeMultipleKeyStorePasswords {-interactive}
  • Mit Jython:
    AdminTask.changeMultipleKeyStorePasswords('-interactive')

createKeyStore

Der Befehl createKeyStore erstellt die Keystore-Einstellungen in der Konfiguration und in der Keystore-Datenbank.

Erforderliche Parameter

-keyStoreName
Der Name, der das Keystore-Konfigurationsobjekt eindeutig bezeichnet. (String, erforderlich)
-keyStoreType
Die Implementierung der Keystore-Verwaltung. (String, erforderlich)
-keyStoreLocation
Die Position des Keystores. Für dateibasierte Keystores ist die Position der Dateisystempfad zur Keystore-Datenbank. Für Hardware-Keystores ist die Position der Pfad zur Tokenbibliothek. (String, erforderlich)

[IBM i]Wenn Sie den Keystore "IBMi5OSKeyStore" erstellen, muss die Keystore-Position die Dateierweiterung .kdb haben.

-keyStorePassword
Das Kennwort, das den Keystore schützt. (String, erforderlich)
-keyStorePasswordVerify
Das Kennwort, das den Keystore schützt. (String, erforderlich)

Optionale Parameter

-keyStoreProvider
Der für die Implementierung des Keystores verwendete Provider. (String, optional)
-keyStoreIsFileBased
Setzen Sie diesen Parameter auf true, wenn der Keystore dateibasiert ist. Setzen Sie den Parameter auf false, wenn Sie mit einem Keystore für Hardwareverschlüsselung arbeiten. (Boolean, optional)
-keyStoreHostList
Eine Liste mit Hostnamen, über die der Keystore über Remote-Zugriff verwaltet wird. Als Trennzeichen wird ein Komma verwendet. (String, optional)
-keyStoreInitAtStartup
Setzen Sie diesen Parameter auf true, wenn der Keystore beim Start initialisiert wird. Andernfalls setzen Sie diesen Parameter auf false. (Boolean, optional)
-keyStoreReadOnly
Setzen Sie diesen Parameter auf true, wenn Sie nicht in den Keystore schreiben können. Andernfalls setzen Sie diesen Parameter auf false. (Boolean, optional)
-keyStoreStashFile
Setzen Sie diesen Parameter auf true, wenn verdeckte Dateien für CMS-Keystores erstellt werden sollen. Andernfalls setzen Sie diesen Parameter auf false. (Boolean, optional)
-enableCryptoOperations
Gibt an, ob das Keystore-Objekt für Hardwareverschlüsselungsoperationen verwendet wird oder nicht. Der Standardwert ist false. (Boolean, optional)
-keyStoreDescription
Gibt einen benutzerdefinierten Text ein, der den gewünschten Keystore beschreibt. (String, optional)
-keyStoreUsage
Gibt die gewünschte Keystore-Nutzung an. Geben Sie SSLKeys, KeySetKeys, RootKeys, DeletedKeys, DefaultSigners oder RSATokenKeys an. (String, optional)
-scopeName
Der Name, der den Verwaltungsbereich eindeutig bezeichnet. Beispiel: (cell):localhostNode01Cell. (String, optional)
-controlRegionUser
Gibt den Benutzer der Steuerregion an, der ein beschreibbares Keystore-Objekt für den Schüsselring der Steuerregion erstellen soll. Geben Sie diese Option für SAF-Schlüsselringe an, wenn die Option für beschreibbare SAF-Schlüsselringe aktiviert ist. (String, optional)
-servantRegionUser
Gibt den Benutzer der Servant-Region an, der ein beschreibbares Keystore-Objekt für den Schüsselring der Steuerregion erstellen soll. Geben Sie diese Option für SAF-Schlüsselringe an, wenn die Option für beschreibbare SAF-Schlüsselringe aktiviert ist. (String, optional)

Beispiele

Verwendungsbeispiel für den Stapelmodus

  • Mit Jacl:
    $AdminTask createKeyStore {-keyStoreName testKS -keyStoreType JCEKS 
    -keyStoreLocation c:/temp/testKeyFile.p12 -keyStorePassword testpwd 
    -keyStorePasswordVerify testpwd -keyStoreIsFileBased true -keyStoreInitAtStartup 
    true -keyStoreReadOnly false}
  • Mit Jython (String):
    AdminTask.createKeyStore ('[-keyStoreName testKS -keyStoreType JCEKS -keyStoreLocation 
    c:/temp/testKeyFile.p12 -keyStorePassword testpwd -keyStorePasswordVerify testpwd 
    -keyStoreIsFileBased true -keyStoreInitAtStartup true -keyStoreReadOnly false]')
  • Mit Jython (List):
    AdminTask.createKeyStore (['-keyStoreName', 'testKS', '-keyStoreLocation', '-keyStoreType', 
    'JCEKS', 'c:/temp/testKeyFile.p12', '-keyStorePassword', 'testpwd', 
    '-keyStorePasswordVerify', 'testpwd', '-keyStoreIsFileBased', 'true', 
    '-keyStoreInitAtStartup', 'true', '-keyStoreReadOnly', 'false'])

Verwendungsbeispiel für den Dialogmodus:

  • Mit Jacl:
    $AdminTask createKeyStore {-interactive}
  • Mit Jython:
    AdminTask.createKeyStore('-interactive')

createCMSKeyStore

Der Befehl createCMSKeyStore erstellt eine CMS-Keystore-Datenbank und die Keystore-Einstellungen in der Konfiguration.

Erforderliche Parameter

-cmsKeyStoreURI
Der URI des CMS-Keystores. (String, erforderlich)
-pluginHostName
Der Hostname des Plug-in. (String, erforderlich)

Optionale Parameter

Ohne.

Beispiele

Verwendungsbeispiel für den Stapelmodus

  • Mit Jacl:
    $AdminTask createCMSKeyStore {-cmsKeyStoreURI CMSKeystoreURI -pluginHostName myHostName}
  • Mit Jython (String):
    AdminTask.createCMSKeyStore('-cmsKeyStoreURI CMSKeystoreURI -pluginHostName myHostName')
  • Mit Jython (List):
    AdminTask.createCMSKeyStore(['-cmsKeyStoreURI', 'CMSKeystoreURI', '-pluginHostName', 'myHostName'])

Verwendungsbeispiel für den Dialogmodus:

  • Mit Jacl:
    $AdminTask createCMSKeyStore {-interactive}
  • Mit Jython:
    AdminTask.createCMSKeyStore('-interactive')

deleteKeyStore

Der Befehl deleteKeyStore löscht die Einstellungen eines Keystore aus der Konfiguration und aus der Keystore-Datei.

Erforderliche Parameter

-keyStoreName
Der Name, der den zu löschenden Keystore eindeutig kennzeichnet. (String, erforderlich)

Optionale Parameter

-scopeName
Der Name, der den Verwaltungsbereich eindeutig bezeichnet. Beispiel: (cell):localhostNode01Cell. (String, optional)
-removeKeyStoreFile
Gibt an, ob die Keystore-Datei entfernt werden soll. Geben Sie true an, um die Keystore-Datei zu entfernen, oder geben Sie false an, um die Keystore-Datei in der Konfiguration zu behalten. (Boolean, optional)

Beispiele

Verwendungsbeispiel für den Stapelmodus

  • Mit Jacl:
    $AdminTask deleteKeyStore {-keyStoreName testKS}
  • Mit Jython (String):
    AdminTask.deleteKeyStore('[-keyStoreName testKS]')
  • Mit Jython (List):
    AdminTask.deleteKeyStore(['-keyStoreName', 'testKS'])

Verwendungsbeispiel für den Dialogmodus:

  • Mit Jacl:
    $AdminTask deleteKeyStore {-interactive}
  • Mit Jython:
    AdminTask.deleteKeyStore('-interactive')

exchangeSigners

Der Befehl exchangeSigners unterstützt den Austausch von Unterzeichnerzertifikaten zwischen Keystores.

Erforderliche Parameter

-keyStoreName1
Der Name, der einen Keystore eindeutig identifiziert. Sie müssen mit dem Parameter "keyStoreName2" einen zweiten Keystore-Namen angeben. (String, erforderlich)
-keyStoreName2
Der Name, der einen Keystore eindeutig identifiziert. Sie müssen mit dem Parameter "keyStoreName1" einen zweiten Keystore-Namen angeben. (String, erforderlich)

Optionale Parameter

-keyStoreScope1
Der Name des Geltungsbereichs für den Keystore, den Sie mit dem Parameter "keyStoreName1" angegeben haben. (String, optional)
-keyStoreScope2
Der Name des Geltungsbereichs für den Keystore, den Sie mit dem Parameter "keyStoreName2" angegeben haben. (String, optional)
-certificateAlaisList1
Eine Liste mit Aliasnamen, die jeweils durch ein Komma voneinander getrennt sind. (String, optional)
-certificateAliasList2
Eine Liste mit Aliasnamen, die jeweils durch ein Komma voneinander getrennt sind. (String, optional)

Beispiele

Verwendungsbeispiel für den Stapelmodus

  • Mit Jacl:
    $AdminTask exchangeSigners {-keyStoreName1 testKS -certificateAliasList1 testCert1
    -keyStoreName2 secondKS -certificateAlaisList2 certAlis}
  • Mit Jython (String):
    AdminTask.exchangeSigners('[-keyStoreName1 testKS -certificateAliasList1 testCert1 -keyStoreName2 secondKS -certificateAlaisList2 certAlis]')
  • Mit Jython (List):
    AdminTask.exchangeSigners(['-keyStoreName1', 'testKS', '-certificateAliasList1', 'testCert1', '-keyStoreName2', 'secondKS', '-certificateAlaisList2', 'certAlis'])

Verwendungsbeispiel für den Dialogmodus:

  • Mit Jacl:
    $AdminTask exchangeSigners {-interactive}
  • Mit Jython:
    AdminTask.exchangeSigners('-interactive')

getKeyStoreInfo

Der Befehl getKeyStoreInfo zeigt die Einstellungen eines bestimmten Keystores an.

Erforderliche Parameter

-keyStoreName
Der Name, der den Keystore eindeutig identifiziert. (String, erforderlich)

Optionale Parameter

-scopeName
Der Name, der den Verwaltungsbereich eindeutig bezeichnet. Beispiel: (cell):localhostNode01Cell. (String, optional)

Beispiele

Verwendungsbeispiel für den Stapelmodus

  • Mit Jacl:
    $AdminTask getKeyStoreInfo {-name testKS}
  • Mit Jython (String):
    AdminTask.getKeyStoreInfo('[-name testKS]')
  • Mit Jython (List):
    AdminTask.getKeyStoreInfo(['-name', 'testKS'])

Verwendungsbeispiel für den Dialogmodus:

  • Mit Jacl:
    $AdminTask getKeyStoreInfo {-interactive}
  • Mit Jython:
    AdminTask.getKeyStoreInfo('-interactive')

listKeyFileAliases

Der Befehl listKeyFileAliases listet die Zertifikate in einer Keystore-Datei auf.

Erforderliche Parameter

-keyFilePath
Der Pfad der Schlüsseldatei. (String, erforderlich)
-keyFilePassword
Das Kennwort für die Schlüsseldatei. (String, erforderlich)
-keyFileType
Der Typ der Schlüsseldatei. (String, erforderlich)

Optionale Parameter

Ohne.

Beispiele

Verwendungsbeispiel für den Stapelmodus

  • Mit Jacl:
    [Windows]
    $AdminTask listKeyFileAliases {-keyFilePath c:/temp/testKeyFile.p12 
    -keyFilePassword testPwd -keyFileType PKCS12}
    [IBM i][z/OS][HP-UX][Solaris][AIX][Linux]
    $AdminTask listKeyFileAliases {-keyFilePath /temp/testKeyFile.p12
    -keyFilePassword testPwd -keyFileType PKCS12}
  • Mit Jython (String):
    [Windows]
    AdminTask.listKeyFileAliases('[-keyFilePaht c:/temp/testKeyFile.p12 
    -keyFilePassword testPwd -keyFileType PKCS12]')
    [IBM i][z/OS][HP-UX][Solaris][AIX][Linux]
    AdminTask.listKeyFileAliases('[-keyFilePaht /temp/testKeyFile.p12 
    -keyFilePassword testPwd -keyFileType PKCS12]')
  • Mit Jython (List):
    [Windows]
    AdminTask.listKeyFileAliases(['-keyFilePaht', 'c:/temp/testKeyFile.p12', 
    '-keyFilePassword', 'testPwd', '-keyFileType', 'PKCS12'])
    [IBM i][z/OS][HP-UX][Solaris][AIX][Linux]
    AdminTask.listKeyFileAliases(['-keyFilePaht', '/temp/testKeyFile.p12', 
    '-keyFilePassword', 'testPwd', '-keyFileType', 'PKCS12'])

Verwendungsbeispiel für den Dialogmodus:

  • Mit Jacl:
    $AdminTask listKeyFileAliases {-interactive}
  • Mit Jython:
    AdminTask.listKeyFileAliases('-interactive')

listKeyStores

Der Befehl listKeyStores listet den Keystore für einen bestimmten Geltungsbereich auf.

Erforderliche Parameter

Ohne.

Optionale Parameter

-scopeName
Gibt den Namen an, der den Verwaltungsbereich eindeutig identifiziert, z. B. (Zelle):localhostNode01Cell. (String, optional)
-all
Geben Sie den Wert true für diesen Parameter an, um alle Keystores aufzulisten. Dieser Parameter überschreibt den Parameter "scopeName". Der Standardwert ist false. (Boolean, optional)
-keyStoreUsage
Gibt die gewünschte Keystore-Nutzung an. Geben Sie SSLKeys, KeySetKeys, RootKeys, DeletedKeys, DefaultSigners oder RSATokenKeys an. (String, optional)

Beispiele

Verwendungsbeispiel für den Stapelmodus

  • Mit Jacl:
    $AdminTask listKeyStores
  • Mit Jython:
    AdminTask.listKeyStores()

Verwendungsbeispiel für den Dialogmodus:

  • Mit Jacl:
    $AdminTask listKeyStores {-interactive}
  • Mit Jython:
    AdminTask.listKeyStores('-interactive')

listKeyStoreTypes

Der Befehl listKeyStoreTypes listet alle gültigen Keystore-Typen auf.

Erforderliche Parameter

Ohne.

Optionale Parameter

Ohne.

Beispiele

Verwendungsbeispiel für den Stapelmodus

  • Mit Jacl:
    $AdminTask listKeyStoreTypes
  • Mit Jython:
    AdminTask.listKeyStoreTypes()

Verwendungsbeispiel für den Dialogmodus:

  • Mit Jacl:
    $AdminTask listKeyStoreTypes {-interactive}
  • Mit Jython (String):
    AdminTask.listKeyStoreTypes('-interactive')

listSignatureAlgorithms

Der Befehl listSignatureAlgorithms listet die Signaturalgorithmen auf, die für die momentan konfigurierte Sicherheitsstufe gültig sind. Wenn kein Sicherheitsstandard aktiviert ist, werden alle Signaturalgorithmen zurückgegeben. Andernfalls werden die gültigen Signaturalgorithmen für die konfigurierte Sicherheitsstufe zurückgegeben.

Erforderliche Parameter

Ohne.

Optionale Parameter

Ohne.
Tabelle 1. FIPS- und kompatible Signaturalgorithmen
Sicherheitsmodus Verfügbare Signaturalgorithmen
FIPS nicht aktiviert

SHA1withRSA
SHA1withDSA
SHA256withRSA
SHA384withRSA
SHA512withRSA
SHA256withECDSA
SHA384withECDSA
SHA512withECDSA
Anmerkung: SHA512withECDSA setzt die Installation der uneingeschränkten Java-Richtlinie voraus.

FIPS140-2

SHA1withRSA
SHA1withDSA
SHA256withRSA
SHA384withRSA
SHA512withRSA

SP800-131 - Transition

SHA1withRSA
SHA1withDSA
SHA256withRSA
SHA384withRSA
SHA512withRSA
SHA256withECDSA
SHA384withECDSA
SHA512withECDSA
Anmerkung: SHA512withECDSA setzt die Installation der uneingeschränkten Java-Richtlinie voraus.

SP800-131 - Strict

SHA256withRSA
SHA384withRSA
SHA512withRSA
SHA256withECDSA
SHA384withECDSA
SHA512withECDSA
Anmerkung: SHA512withECDSA setzt die Installation der uneingeschränkten Java-Richtlinie voraus.

Suite B 128

SHA256withECDSA

Suite B 192

SHA256withECDSA
SHA384withECDSA

modifyKeyStore

Der Befehl modifyKeyStore ändert Attribute für einen vorhandenen Keystore. Nur einige der Keystore-Attribute sind modifizierbar. Um welche Parameter es sich handelt, ist davon abhängig, was Sie ändern. Verwenden Sie für die Verwendung des Befehls die folgenden Richtlinien:
  • Wenn Sie mit diesem Befehl die Keystore-Datei ändern möchten, auf die das Keystore-Objekt verweist, ändern Sie die Parameter "keyStoreName", "keyStoreLocation", "keyStoreType" und "keyStorePassword".

Erforderliche Parameter

-keyStoreName
Gibt den eindeutigen Namen an, der den Keystore identifiziert. (String, erforderlich)

Optionale Parameter

-scopeName
Gibt den Verwaltungsbereich des Keystores an. (String, optional)
-keyStoreProvider
Gibt den Provider für den Keystore an. (String, optional)
-keyStoreType
Gibt einen der vordefinierten Keystore-Typen an. Die gültigen Typen sind JCEKS, CMSKS, PKCS12, PKCS11 und JKS. (String, optional)
-keyStoreLocation
Gibt die vollständig qualifizierte Position der Keystore-Datei an. Wenn Sie die Position der Keystore-Datei ändern möchten, müssen Sie die Parameter "keyStoreLocation", "keyStoreType", "keyStorePassword", und "keyStoreName" angeben. (String, optional)
-keyStorePassword
Gibt das Kennwort zum Öffnen des Keystores an. Verwenden Sie den Befehl "changeKeystorePassword", um das Kennwort des Keystores zu ändern. (String, optional)
-keyStoreIsFileBased
Gibt an, ob der Keystore dateibasiert ist. Wenn Sie diese Einstellung für den Keystore ändern möchten, geben Sie die Parameter "keyStoreIsFileBased" und "keyStoreName" an. (Boolean, optional)
-keyStoreInitAtStartup
Gibt an, ob der Keystore beim Serverstart initialisiert wird. Wenn Sie diese Einstellung für den Keystore ändern möchten, geben Sie die Parameter "keyStoreInitAtStartup" und "keyStoreName" an. (Boolean, optional)
-keyStoreReadOnly
Gibt an, ob der Keystore beschreibbar ist. Die die Schreischutzeinstellung für den Keystore ändern möchten, geben Sie die Parameter "keyStoreReadOnly" und "keyStoreName" an. (Boolean, optional)
-keyStoreDescription
Gibt eine Beschreibung für den Keystore an. Wenn Sie die Keystore-Beschreibung ändern möchten, geben Sie die Parameter "keyStoreDescription" und "keyStoreName" an. (String, optional)
-keyStoreUsage
Gibt die gewünschte Keystore-Nutzung an. Geben Sie SSLKeys, KeySetKeys, RootKeys, DeletedKeys, DefaultSigners oder RSATokenKeys an. (String, optional)

Beispiele

Verwendungsbeispiel für den Stapelmodus

  • Mit Jacl: [AIX Solaris HP-UX Linux Windows][IBM i]
    $AdminTask modifyKeyStore {-keyStoreName CellDefaultKeyStore 
    -keyStoreLocation c:/temp/testKeyFile.p12 -keyStoreType JCEKS 
    -keyStorePassword my1password}
    [z/OS]
    $AdminTask modifyKeyStore {-keyStoreName CellDefaultKeyStore 
    -keyStoreLocation /temp/testKeyFile.p12 -keyStoreType JCEKS 
    -keyStorePassword my1password}
  • Mit Jython: [AIX Solaris HP-UX Linux Windows][IBM i]
    AdminTask.modifyKeyStore('-keyStoreName CellDefaultKeyStore -keyStoreLocation 
    c:/temp/testKeyFile.p12 -keyStoreType JCEKS -keyStorePassword my1password')
    [z/OS]
    AdminTask.modifyKeyStore('keyStoreName CellDefaultKeyStore -keyStoreLocation 
    /temp/testKeyFile.p12 -keyStoreType JCEKS -keyStorePassword my1password')

Verwendungsbeispiel für den Dialogmodus:

  • Mit Jacl:
    $AdminTask modifyKeyStore {-interactive}
  • Mit Jython:
    AdminTask.modifyKeyStore('-interactive')

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rxml_atkeystore
Dateiname:rxml_atkeystore.html