<?xml version="1.0" encoding="UTF-8"?>
<chapter id="details.formats">
<chapterinfo>
  <authorgroup>
    <author
>&Thomas.Baumgart; &Thomas.Baumgart.mail; </author>
  </authorgroup>
  <date
>30 августа 2014 г.</date>
  <releaseinfo
>4.7.01</releaseinfo>
</chapterinfo>

<title
>Форматы файлов</title>

<para
>Если не используется <link linkend="details.database"
>реляционная база данных</link
>, программа &kmymoney; сохраняет все финансовые данные пользователя в файле с расширением <filename class="extension"
>.kmy</filename
>. При запуске  &kmymoney; будет открыт последний открытый файл (если только это не было запрещено с помощью соответствующего <link linkend="firsttime.launch"
>параметра командной строки</link
>). Тем не менее, следует помнить, что &kmymoney; поддерживает сохранение финансовых данных в нескольких форматах. </para>

<para
>В этой главе приводится описание форматов, в которых &kmymoney; сохраняет данные в постоянном виде на запоминающем устройстве пользователя. Обычно &kmymoney; сохраняет данные в формате документа &XML;. В зависимости от актуального формата, этот документ &XML; будет записан: <itemizedlist>
  <listitem
><para
>как <link linkend="details.formats.plain"
>обычный текстовый файл</link
> в кодировке UTF-8,</para
></listitem>

  <listitem
><para
>как <link linkend="details.formats.compressed"
>файл, сжатый</link
> с помощью GZIP,</para
></listitem>

  <listitem
><para
>как <link linkend="details.formats.encrypted"
>файл, зашифрованный</link
> с помощью шифрования GPG</para
></listitem>

  <listitem
><para
>как <link linkend="details.formats.anonymous"
>анонимный простой текстовый файл</link
> в кодировке UTF-8, в котором зашифрованы все персональные данные пользователя.</para
></listitem>
</itemizedlist>
</para>

<sect1 id="details.formats.plain">
<title
>Простой текстовый файл</title>
<para
>Для сохранения в этом формате требуется наибольшее количество пространства, так как не выполняется сжатие. Этот формат не предназначен для использования по умолчанию, он предоставляется для целей отладки и позволяет изменить файл вручную. Если завершить имя файла текстом <filename class="extension"
>.xml</filename
>, файл будет сохранён в этом формате. <caution
> <para
>Обычным пользователям не рекомендуется вручную изменять этот файл (в случае ошибки возможно повреждение данных). Это следует делать только тем, кто полностью разбирается в механизме работы приложения &kmymoney; или получил подробные инструкции от разработчиков. </para>
</caution>
</para>
</sect1>

<sect1 id="details.formats.compressed">
<title
>Файл, сжатый с помощью GZIP</title>
<para
>Этот формат используется &kmymoney; по умолчанию, когда выполняется сохранение файла с расширением <filename class="extension"
>.kmy</filename
>. </para>

<note>
  <para
>Если выбрано <link linkend="details.formats.encrypted"
>шифрование</link
>, файл будет сохранён в зашифрованном виде. </para>
</note>

<para
>Если требуется просмотреть содержимое файла, сжатого с помощью GZIP, измените его расширение на <filename class="extension"
>.gz</filename
> (например, переименуйте <filename
>myfinances.kmy</filename
> в <filename
>myfinances.kmy.gz</filename
>), затем используйте <command
>gunzip</command
> для распаковки файла и его просмотра. Для последующей загрузки в &kmymoney; этот файл не потребуется сжимать повторно, так как &kmymoney; поддерживает чтение также и несжатых данных. Но если файл будет затем сохранён в приложении, он снова будет сжат. Используйте расширение <link linkend="details.formats.plain"
><filename class="extension"
>.xml</filename
></link
>, чтобы записать его в несжатом формате. </para>
</sect1>

<sect1 id="details.formats.encrypted">
<title
>Файл, зашифрованный с помощью GPG</title>
<para
>Сохранение личных финансовых данных их в формате файла, зашифрованного с помощью GPG, обеспечивает высокий уровень безопасности. Если в параметрах программы &kmymoney; указано сохранение данных в зашифрованном виде, перед фактическим сохранением данных на запоминающем устройстве будет выполнено их шифрование с помощью GPG и ключа, предоставленного пользователем. При открытии зашифрованного файла будет предложено ввести парольную фразу, которая необходима для доступа к набору ключей. Сам зашифрованный файл сохраняется в <emphasis
>защищённом формате &ASCII;</emphasis
> GPG. <note
> <para
>При использовании шифрования с помощью GPG также выполняется сжатие файла, поэтому дополнительное сжатие не требуется. </para>
  </note>
</para>

<sect2 id="details.formats.encrypted.gpgkeys">
<title
>GPG-ключи</title>
<para
>Чтобы воспользоваться предоставляемой &kmymoney; функцией шифрования с помощью GPG, потребуется создать пару ключей (если только это уже не было сделано для шифрования электронной почты). Кроме того, в системе должно быть установлено приложение <application
>GPG</application
>. </para>

<para
>Сведения о том, как создать пару ключей и работать с ней, выходят за рамки настоящего руководства. Краткие справочные сведения доступны здесь: <ulink url="https://www.gnupg.org/documentation/howtos.en.html"
>https://www.gnupg.org/documentation/howtos.en.html</ulink
>. </para>
</sect2>

<sect2 id="details.formats.encrypted.keysettings">
<title
>Настройка ключей в &kmymoney;</title>
<para
>На странице шифрования диалога настройки доступен раскрывающийся список, позволяющий выбрать ключ, который следует использовать для шифрования и расшифровки. Также доступно поле, в котором возможно указать идентификатор ключа, который отсутствует в списке. Значением этого поля может быть идентификатор ключа, связанный с этим ключом адрес электронной почты или же любой другой корректный идентификатор GPG-ключа. При вводе идентификатора ключа &kmymoney; выполнит проверку его корректности и отобразит значок зелёного светодиода, если ключ найден. <caution
> <para
>Убедитесь, что для указанного идентификатора имеются как открытый, так и закрытый ключи. Если соответствующий закрытый ключ отсутствует, повторно открыть файл будет невозможно. </para>
  </caution>
</para>
</sect2>

<sect2 id="details.formats.encrypted.recoverkey">
<title
>Ключ восстановления &kmymoney;</title>
<para
>На этой странице диалога настройки также возможно выбрать опцию дополнительного шифрования с помощью ключа восстановления &kmymoney;. Эта опция доступна, если этот ключ хранится в наборе ключей <application
>GPG</application
>. Она позволяет восстановить данные даже в случае утраты закрытого ключа. Это возможно благодаря тому, что данные шифруются не только ключом пользователя, но и ключом восстановления &kmymoney;. Этот ключ доступен только некоторым разработчикам &kmymoney; (на момент написания настоящего руководства — только автору). Для &kmymoney; версии 4.7 ключ восстановления действителен до 3 января 2015 года. </para>

<para
>Если с ключами всё в порядке, открытие, сохранение и закрытие файла выполняется как обычно. Если же ключ был утерян, возможно связаться с одним из разработчиков, обладающих доступом к ключу восстановления &kmymoney;, и попросить его помощи в восстановлении данных. Чтобы обратиться к разработчикам &kmymoney;, отправьте письмо в список рассылки по адресу &devlist;. </para>
</sect2>
</sect1>

<sect1 id="details.formats.anonymous">
<title
>Анонимный файл</title>
<para
>Этот формат не предназначен для обычного хранения данных. Он предоставляется с той целью, чтобы пользователь в случае возникновения проблем мог предоставить команде разработчиков &kmymoney; свой файл, не разглашая какие-либо конфиденциальные детали финансовых данных. Например, строки с наименованием учреждений, счётов, контрагентов и статей будут переименованы в нечто наподобие «I000001» и «A000001». Аналогичные изменения вносятся и в номера счетов. Также случайным образом изменяются суммы операций. </para>

<para
>Если от разработчиков получено соответствующее указание, воспользуйтесь пунктом меню <guimenuitem
>Сохранить как...</guimenuitem
> для сохранения данных в формате анонимного файла: выберите в фильтре вариант <literal role="filter"
>Анонимные файлы</literal
>. При этом расширение файла изменится на <filename class="extension"
>.anon.xml</filename
>. </para>

<para
>Чтобы проверить, что сохранённый анонимный файл всё ещё отражает проблему, перезагрузите этот файл и попытайтесь воспроизвести ошибку. Если она снова имеет место, отправьте этот файл в список рассылки разработчиков по адресу &devlist;. </para>
</sect1>
</chapter>

