Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Side by Side Diff: chrome/common/extensions/docs/static/packaging.html

Issue 10455004: Making sure self-hosting and packaging docs are clear about keeping private key secure (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/common/extensions/docs/static/hosting.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <div id="pageData-name" class="pageData">Packaging</div> 1 <div id="pageData-name" class="pageData">Packaging</div>
2 <div id="pageData-showTOC" class="pageData">true</div> 2 <div id="pageData-showTOC" class="pageData">true</div>
3 3
4 <p class="note">
5 <b>For Advanced Developers Only:</b>
6 Do not follow the instructions on this page
7 unless you understand the security implications
8 of packaging and hosting files on your own server.
9 If you host on the Chrome Web Store,
10 you do not need to worry
11 about packaging or self-hosting.
12 </p>
13
4 <p> 14 <p>
5 This page describes how to package your extension. 15 This page describes how to package your extension.
6 As the <a href="overview.html">Overview</a> explains, 16 As the <a href="overview.html">Overview</a> explains,
7 extensions are packaged as signed ZIP files 17 extensions are packaged as signed ZIP files
8 with the file extension "crx"&mdash;for example, 18 with the file extension "crx"&mdash;for example,
9 <code>myextension.crx</code>. 19 <code>myextension.crx</code>.
10 </p> 20 </p>
11 21
12 <p> 22 <p>
13 <b>Note:</b> 23 You do not need to package your own extension.
14 You might not need to package your extension.
15 If you publish your extension using the 24 If you publish your extension using the
16 <a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Develope r Dashboard</a>, 25 <a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Develope r Dashboard</a>,
17 then the only reason to create your own <code>.crx</code> file 26 then the only reason to create your own <code>.crx</code> file
18 would be to distribute a non-public version&mdash;for example, 27 would be to distribute a non-public version&mdash;for example,
19 to alpha testers. 28 to alpha testers.
20 You can find information on publishing extensions and apps in the 29 You can find information on publishing extensions and apps in the
21 Chrome Web Store getting started tutorial, starting at 30 Chrome Web Store getting started tutorial, starting at
22 <a href="http://code.google.com/chrome/webstore/docs/get_started_simple.html#ste p5">Step 5: Zip up your app</a>. 31 <a href="http://code.google.com/chrome/webstore/docs/get_started_simple.html#ste p5">Step 5: Zip up your app</a>.
23 </p> 32 </p>
24 33
25 <p> 34 <p>
26 When you package an extension, 35 When you package an extension,
27 the extension is assigned a unique key pair. 36 the extension is assigned a unique key pair.
28 The extension's ID is based on a hash of the public key. 37 The extension's ID is based on a hash of the public key.
29 The private key is kept private 38 The private key is used to sign each version of the extension
30 and used to sign each version of the extension. 39 and must be secured from public access.
40 Do not store the private key in your packaged files.
31 </p> 41 </p>
32 42
33 43
34 <h2>Creating a package</h2> 44 <h2>Creating a package</h2>
35 45
36 <p>To package an extension:</p> 46 <p>To package an extension:</p>
37 <ol> 47 <ol>
38 <li> 48 <li>
39 Bring up the Extensions management page 49 Bring up the Extensions management page
40 by going to this URL: 50 by going to this URL:
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 143
134 <img src="images/update-success.gif" 144 <img src="images/update-success.gif"
135 width="298" height="160" /> 145 width="298" height="160" />
136 146
137 147
138 <h2 id="upload"> Uploading a previously packaged extension to the Chrome Web Sto re</h2> 148 <h2 id="upload"> Uploading a previously packaged extension to the Chrome Web Sto re</h2>
139 149
140 <p> 150 <p>
141 You can use the Chrome Developer Dashboard 151 You can use the Chrome Developer Dashboard
142 to upload an extension that you've previously packaged yourself. 152 to upload an extension that you've previously packaged yourself.
143 However, unless you take special steps, 153 However, a new extension ID will be created
Aaron Boodman 2012/06/06 18:27:26 I don't think this section needs to change. The pr
144 the extension's ID in the Chrome Web Store 154 in the Chrome Web Store.
145 will be different from its ID in the package you created. 155 You must ensure that only one extension ID is used.
146 This different ID might be a problem if you've 156 If you've already distributed your extension package,
147 distributed your extension package, 157 replace the newly created extension ID
148 because it allows users to install multiple versions of your extension, 158 with your existing extension ID.
149 each with its own local data. 159 Otherwise, users can install multiple versions
160 of your extension, each with its own local data.
161 If you haven't distributed your extension package,
162 you can use the new extension ID,
163 taking care to remove any references to the old one.
150 </p> 164 </p>
151 165
152 <p> 166 <p>
153 If you want to keep the extension ID the same, 167 To replace the newly created extension ID
154 follow these steps: 168 with your existing extension ID:
155 </p> 169 </p>
156 170
157 <ol> 171 <ol>
158 <li> Rename the private key that was generated 172 <li> Rename the private key that was generated
159 when you created the <code>.crx</code> file to <code>key.pem</code>. </li> 173 when you created the <code>.crx</code> file to <code>key.pem</code>. </li>
160 <li> Put <code>key.pem</code> in the top directory 174 <li> Put <code>key.pem</code> in the top directory
161 of your extension. </li> 175 of your extension. </li>
162 <li> Compress that directory into a ZIP file. </li> 176 <li> Compress that directory into a ZIP file. </li>
163 <li> Upload the ZIP file using the 177 <li> Upload the ZIP file using the
164 <a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Deve loper Dashboard</a>. </li> 178 <a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Deve loper Dashboard</a>. </li>
(...skipping 19 matching lines...) Expand all
184 <p> 198 <p>
185 To suppress the dialog, 199 To suppress the dialog,
186 add <code>--no-message-box</code> to the command. 200 add <code>--no-message-box</code> to the command.
187 </p> 201 </p>
188 202
189 <h2>Package format and scripts</h2> 203 <h2>Package format and scripts</h2>
190 <p> 204 <p>
191 For more information on the format, as well as pointers to scripts you can use 205 For more information on the format, as well as pointers to scripts you can use
192 to create <code>.crx</code> files, see <a href="crx.html">CRX Package Format</a> . 206 to create <code>.crx</code> files, see <a href="crx.html">CRX Package Format</a> .
193 </p> 207 </p>
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/static/hosting.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698