/usr/share/doc/fdroidserver/html/html_node/Signing.html is in fdroidserver 0.7.0-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for the F-Droid repository server tools.
Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015 Ciaran Gultnieks
Copyright (C) 2011 Henrik Tunedal, Michael Haas, John Sullivan
Copyright (C) 2013 David Black
Copyright (C) 2013, 2014, 2015 Daniel MartÃ
Copyright (C) 2015 Boris Kraut
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License". -->
<!-- Created by GNU Texinfo 6.3, http://www.gnu.org/software/texinfo/ -->
<head>
<title>F-Droid Server Manual: Signing</title>
<meta name="description" content="F-Droid Server Manual: Signing">
<meta name="keywords" content="F-Droid Server Manual: Signing">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Index.html#Index" rel="index" title="Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="index.html#Top" rel="up" title="Top">
<link href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" rel="next" title="GNU Free Documentation License">
<link href="Build-Server.html#Build-Server" rel="prev" title="Build Server">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<a name="Signing"></a>
<div class="header">
<p>
Next: <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" accesskey="n" rel="next">GNU Free Documentation License</a>, Previous: <a href="Build-Server.html#Build-Server" accesskey="p" rel="prev">Build Server</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Signing-1"></a>
<h2 class="chapter">10 Signing</h2>
<p>There are two kinds of signing involved in running a repository - the signing
of the APK files generated from source builds, and the signing of the repo
index itself. The latter is optional, but very strongly recommended.
</p>
<a name="Repo-Index-Signing"></a>
<h3 class="section">10.1 Repo Index Signing</h3>
<p>When setting up the repository, one of the first steps should be to generate
a signing key for the repository index. This will also create a keystore, which
is a file that can be used to hold this and all other keys used. Consider the
location, security and backup status of this file carefully, then create it as
follows:
</p>
<p><code>keytool -genkey -v -keystore my.keystore -alias repokey -keyalg RSA -keysize 2048 -validity 10000</code>
</p>
<p>In the above, replace ’my.keystore’ with the name of the keystore file to be
created, and ’repokey’ with a name to identify the repo index key by.
</p>
<p>You’ll be asked for a password for the keystore, AND a password for the key.
They shouldn’t be the same. In between, you’ll be asked for some identifying
details which will go in the certificate.
</p>
<p>The two passwords entered go into <code>config.py</code>, as <code>keystorepass</code> and
<code>keypass</code> respectively. The path to the keystore file, and the alias you
chose for the key also go into that file, as <code>keystore</code> and
<code>repo_keyalias</code> respectively.
</p>
<a name="Package-Signing"></a>
<h3 class="section">10.2 Package Signing</h3>
<p>With the repo index signing configured, all that remains to be done for package
signing to work is to set the <code>keydname</code> field in <code>config.py</code> to
contain the same identifying details you entered before.
</p>
<p>A new key will be generated using these details, for each application that is
built. (If a specific key is required for a particular application, this system
can be overridden using the <code>keyaliases</code> config settings.
</p>
<hr>
<div class="header">
<p>
Next: <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" accesskey="n" rel="next">GNU Free Documentation License</a>, Previous: <a href="Build-Server.html#Build-Server" accesskey="p" rel="prev">Build Server</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|