<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "../dtd/reference.dtd">
<reference id="u_sign-keystore-type-changing" xml:lang="en-us">
  <title>Change Keystore Type dialog</title>
  <shortdesc>Allows you to change the file format of a keystore.</shortdesc>
  <prolog>
    <metadata>
      <keywords>
        <!--<indexterm></indexterm>-->
      </keywords>
    </metadata>
  </prolog>
  <refbody>
    <section>
      <p>This dialog is displayed when you click <image href="../images/KeystoreTypeChange.png"/> (Change Keystore Type)
        in the Signing and Keys view.</p>
      <simpletable>
        <strow>
          <stentry><uicontrol>Keystore</uicontrol></stentry>
          <stentry>The keystore file for which the format is to be changed. Note that the keystore file must already be
            known to the Signing and Keys view. If it isn't in the drop-down list, you'll need to import it
            first.</stentry>
        </strow>
        <strow>
          <stentry><uicontrol>Password</uicontrol></stentry>
          <stentry>The password that protects this keystore. If you selected <uicontrol>Save this password</uicontrol>
            either when you created the keystore or during a previous keystore operation, MOTODEV Studio supplies it for
            you.</stentry>
        </strow>
        <strow>
          <stentry><uicontrol>Load</uicontrol></stentry>
          <stentry>Reads the contents of the keystore and displays them in the <uicontrol>Entries</uicontrol> table,
            below.</stentry>
        </strow>
        <strow>
          <stentry><uicontrol>New Type</uicontrol></stentry>
          <stentry>The format you wish the file-based keystore to have. Either JKS (the standard Java keystore), JCEKS
            (a Java keystore that provides much stronger protection of private keys), or PKCS12 (a file format defined
            as part of the Public-Key Cryptography Standards [PKCS] that can be created and interpreted using the
            OpenSSL pkcs12 command). Note that the keystore's current format is not included in the list of new
            types.</stentry>
        </strow>
        <strow>
          <stentry><uicontrol>Entries</uicontrol></stentry>
          <stentry>The keys and certificates contained within the keystore. MOTODEV Studio automatically fills in the
            passwords for those keys for which you previously indicated that the password should be saved. You need to
            supply the password for any keys where the <uicontrol>Verified</uicontrol> column indicates "Not verified";
            this indicates that the password has yet to be supplied or is incorrect.</stentry>
        </strow>
      </simpletable>
    </section>
  </refbody>
</reference>
