code: def saves(self, store_password):
          
  
          if self.store_type == 'jks':
              keystore = MAGIC_NUMBER_JKS
          elif self.store_type == 'jceks':
              raise NotImplementedError("Saving of JCEKS keystores is not implemented")
          else:
              raise UnsupportedKeystoreTypeException("Only JKS and JCEKS keystores are supported")
  
          keystore += b4.pack(2) # version 2
          keystore += b4.pack(len(self.entries))
  
          for alias, item in self.entries.items():
              if isinstance(item, TrustedCertEntry):
                  keystore += self._write_trusted_cert(alias, item)
              elif isinstance(item, PrivateKeyEntry):
                  keystore += self._write_private_key(alias, item, store_password)
              elif isinstance(item, SecretKeyEntry):
                  if self.store_type != 'jceks':
                      raise UnsupportedKeystoreEntryTypeException('Secret Key only allowed in JCEKS keystores')
                  raise NotImplementedError("Saving of Secret Keys not implemented")
              else:
                  raise UnsupportedKeystoreEntryTypeException("Unknown entry type in keystore")
  
          hash_fn = hashlib.sha1
          store_password_utf16 = store_password.encode('utf-16be')
          hash = hash_fn(store_password_utf16 + SIGNATURE_WHITENING + keystore).digest()
          keystore += hash
  
          return keystore
docs: Saves the keystore so that it can be read by other applications.
  
          If any of the private keys are unencrypted, they will be encrypted
          with the same password as the keystore.
  
          :param str store_password: Password for the created keystore
            (and for any unencrypted keys)
  
          :returns: A byte string representation of the keystore.
  
          :raises UnsupportedKeystoreTypeException: If the keystore
            is of an unsupported type
          :raises UnsupportedKeystoreEntryTypeException: If the keystore
            contains an unsupported entry type