> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Keystore Management

> You can define and manage keystores used in policies. You can perform keystore addition, deletion, and update operations with JKS, PKCS12, and PEM format support. These operations can only be performed by Admin users.

## Creating a New Key Store

<Steps>
  <Step title="Create Key Store Definition">
    Click the **Create** button from the **Management → Secrets Management → Key Stores** screen. Fill in the information under **Definition**. Then click the **New Key Store Definition** button.

    <img src="https://mintcdn.com/apinizer/m9jeB9QcPjQW7xfR/images/yonetici/key-store1.png?fit=max&auto=format&n=m9jeB9QcPjQW7xfR&q=85&s=de102303136f965bafdc1f5557747950" alt="Key Store Definition Creation" width="1000" height="600" data-path="images/yonetici/key-store1.png" />

    The fields used for Key Store creation configuration:

    | Field       | Description                                                                             |
    | ----------- | --------------------------------------------------------------------------------------- |
    | Name        | Name information of the created Key store.                                              |
    | Description | A description can be written to facilitate management related to the created Key Store. |
  </Step>

  <Step title="Key Store Configuration">
    Fill in the configuration information for the Key Store in the opened window. Then click the **Save** button. The saved **Key Store Definition** is listed in the table opened under **Configuration**.

    <img src="https://mintcdn.com/apinizer/m9jeB9QcPjQW7xfR/images/yonetici/key-store2.png?fit=max&auto=format&n=m9jeB9QcPjQW7xfR&q=85&s=6fb68084bc217282aa07f27324ce0307" alt="Key Store Configuration" width="1000" height="600" data-path="images/yonetici/key-store2.png" />

    The fields used for Key Store definition configuration:

    | Field                           | Description                                                                                                                                             |
    | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Environments (Environments)     | The previously defined environment where the Key Store will be used is selected.                                                                        |
    | Key Store Type (Key Store Type) | The type of the Key Store is selected. Three options are available:<br />• JKS<br />• PKCS12<br />• PEM                                                 |
    | File (File)                     | The file containing the Key Store is selected by clicking the "Select File" button.<br />• Allowed formats: .jks, .pkcs12, .p12, .pfx, .pem, .crt, .cer |
    | Alias                           | The alias information of the Key Store is entered.                                                                                                      |
    | Password (Password)             | This is the field where the password for the Key Store is entered.                                                                                      |
  </Step>

  <Step title="Save and Deploy">
    After completing the definition and configuration information, click the **Save and Deploy** button to deploy.

    <img src="https://mintcdn.com/apinizer/m9jeB9QcPjQW7xfR/images/yonetici/key-store3.png?fit=max&auto=format&n=m9jeB9QcPjQW7xfR&q=85&s=dae4d8efadb559e2def419195b6d68a8" alt="Key Store Save and Deploy" width="1000" height="600" data-path="images/yonetici/key-store3.png" />
  </Step>
</Steps>

## Key Store Editing

<Steps>
  <Step title="Accessing Key Store Editing Page">
    To edit an existing Key Store, click the **Edit** button from that Key Store's menu.

    <img src="https://mintcdn.com/apinizer/m9jeB9QcPjQW7xfR/images/yonetici/key-store4.png?fit=max&auto=format&n=m9jeB9QcPjQW7xfR&q=85&s=dc8137b9107026adb952ccbe198894cc" alt="Key Store Editing Page" width="1000" height="600" data-path="images/yonetici/key-store4.png" />
  </Step>

  <Step title="Configuration Editing">
    To edit the configuration information belonging to the Key Store, click the **Edit** button from the menu under the configuration list.

    <img src="https://mintcdn.com/apinizer/m9jeB9QcPjQW7xfR/images/yonetici/key-store5.png?fit=max&auto=format&n=m9jeB9QcPjQW7xfR&q=85&s=f9420a5819f8e5421a44a6fde330c3e0" alt="Key Store Configuration Editing" width="1000" height="600" data-path="images/yonetici/key-store5.png" />

    <Note>After clicking the "Edit" button to edit the Key Store, the steps followed during creation are followed.</Note>
  </Step>
</Steps>

### Updating Related JWKs

When a Key Store is updated and the **Save and Deploy** button is clicked, if there are JWKs created from this keystore, the system automatically detects related JWKs and presents the user with options.

<Info>
  When a Key Store is updated, JWKs created from this keystore can also be automatically updated or the relationship can be disconnected.
</Info>

#### JWK Connection Dialog

When a Key Store is updated and related JWKs are detected, the following dialog opens:

<img src="https://mintcdn.com/apinizer/Gg0kSw8S7n4NUarZ/images/yonetici/jwk.png?fit=max&auto=format&n=Gg0kSw8S7n4NUarZ&q=85&s=3dafa95bce928b4d26c5eaf34f6931b2" alt="JWK Connection Dialog" width="600" height="400" style={{ borderRadius: '0.5rem' }} data-path="images/yonetici/jwk.png" />

**Dialog Content:**

* **Title**: "JWK Connection"
* **Warning Message**: "This Key Store is used in X JWK(s). What would you like to do?"
* **Options**:
  * **Update related JWKs**: Ensures that changes in the Key Store are reflected to related JWKs as well.
  * **Update keystore only and disconnect**: Updates the Key Store but disconnects the relationship with JWKs.
  * **Cancel**: Cancels the operation.

#### Update Flow

<Steps>
  <Step title="Key Store Update">
    Edit the Key Store information and click the **Save and Deploy** button.
  </Step>

  <Step title="Related JWK Check">
    The system checks for JWKs created from this keystore.
  </Step>

  <Step title="Dialog Display">
    If there are related JWKs, the JWK Connection dialog opens.
  </Step>

  <Step title="Making Selection">
    The user selects one of three options: Update, Disconnect, or Cancel.
  </Step>

  <Step title="Confirmation Dialog">
    When Update or Disconnect is selected, a confirmation dialog opens. The user confirms the operation by entering the keystore name.
  </Step>

  <Step title="Completing Operation">
    After confirmation, the selected operation is performed and the keystore is updated.
  </Step>
</Steps>

<Warning>
  Updating related JWKs may affect all policies and connections using these JWKs. Evaluate the impacts before proceeding.
</Warning>

## Key Store Deletion

<Steps>
  <Step title="Starting Deletion Operation">
    To delete an existing Key Store, click the **Delete** button from that Key Store's menu.

    <img src="https://mintcdn.com/apinizer/m9jeB9QcPjQW7xfR/images/yonetici/key-store6.png?fit=max&auto=format&n=m9jeB9QcPjQW7xfR&q=85&s=dc283b225b799ad1e2b061d14376da23" alt="Key Store Deletion Operation" width="1000" height="600" data-path="images/yonetici/key-store6.png" />
  </Step>

  <Step title="Confirming Deletion Operation">
    Click the **Delete** button again in the opened window to confirm.

    <img src="https://mintcdn.com/apinizer/m9jeB9QcPjQW7xfR/images/yonetici/key-store7.png?fit=max&auto=format&n=m9jeB9QcPjQW7xfR&q=85&s=b7044ddb24174780b47adfb993a2a650" alt="Key Store Deletion Confirmation" width="1000" height="600" data-path="images/yonetici/key-store7.png" />
  </Step>
</Steps>
