257 lines
14 KiB
HTML
257 lines
14 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en-us">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
|
|
<meta name="theme-color" content="#FF8E03">
|
|
<meta property="og:title" content="AES Keys · Citra" />
|
|
<meta property="og:site_name" content="Citra" />
|
|
<meta property="og:url" content="https://citra-emu.org/wiki/aes-keys/" />
|
|
<meta property="og:description" content="How to obtain AES Keys Users can provide some additional crypto keys to enable some advanced features in Citra. These keys are not officially provided by Citra due to legal considerations.
|
|
Automatically (Recommended) In this method, you will create aes_keys.txt and seeddb.bin files from your console using a GodMode9 script. This will dump all the keys and other secrets you need for game decryption, Miis, amiibo, etc. This requires your 3DS to be on firmware 11." />
|
|
<meta name="description" content="How to obtain AES Keys Users can provide some additional crypto keys to enable some advanced features in Citra. These keys are not officially provided by Citra due to legal considerations.
|
|
Automatically (Recommended) In this method, you will create aes_keys.txt and seeddb.bin files from your console using a GodMode9 script. This will dump all the keys and other secrets you need for game decryption, Miis, amiibo, etc. This requires your 3DS to be on firmware 11." />
|
|
<meta property="og:type" content="website" />
|
|
|
|
|
|
<link rel="icon" href="https://citra-emu.org/favicon.ico" />
|
|
<link rel="shortcut icon" href="https://citra-emu.org/favicon.ico" type="image/x-icon" />
|
|
<link rel="canonical" href="https://citra-emu.org/wiki/aes-keys/">
|
|
|
|
|
|
|
|
<title>AES Keys - Citra</title>
|
|
<link href="https://fonts.googleapis.com/css?family=Ubuntu|Dosis" rel="stylesheet">
|
|
|
|
<link rel="stylesheet" href="https://citra-emu.org/scss/style.min.css" />
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"
|
|
integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
|
|
|
|
|
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
|
<script>
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
|
|
|
ga('create', 'UA-73966905-1', 'auto');
|
|
ga('send', 'pageview');
|
|
</script>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
<nav class="navbar navbar-default navbar-wrapper navbar-fixed-top">
|
|
<div class="container">
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar"
|
|
aria-expanded="false" aria-controls="navbar">
|
|
<span class="sr-only">Toggle navigation</span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand" href="/"> </a>
|
|
</div>
|
|
|
|
<div id="navbar" class="navbar-collapse collapse">
|
|
<ul class="nav navbar-nav">
|
|
<li class="index-1 first"><a href="/" title="Blog Posts">Blog</a></li>
|
|
<li class="index-2"><a href="/download/" title="Download Citra">Download</a></li>
|
|
<li class="index-3"><a href="/help/" title="Help">Help</a></li>
|
|
<li class="index-4"><a href="/wiki/faq/" title="Frequently Asked Questions">FAQ</a></li>
|
|
<li class="index-5"><a href="/game/" title="Game Compatibility">Compatibility</a></li>
|
|
<li class="index-6"><a href="/wiki/home/" title="Wiki Homepage">Wiki</a></li>
|
|
|
|
<li class="index-7 dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown"
|
|
role="button" aria-haspopup="true" aria-expanded="false">
|
|
Social <span class="caret"></span>
|
|
</a>
|
|
|
|
<ul class="dropdown-menu">
|
|
<li class="index-1 first"><a href="/rules/" title="Community Rules">Rules</a></li>
|
|
<li class="index-2"><a href="https://community.citra-emu.org/" title="Forums">Community Forums</a></li>
|
|
<li class="index-3 last"><a href="/discord/" title="Discord Server">Discord Chat</a></li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li class="index-8 dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
|
aria-haspopup="true" aria-expanded="false">
|
|
Media <span class="caret"></span>
|
|
</a>
|
|
|
|
<ul class="dropdown-menu">
|
|
<li class="index-1 first"><a href="/screenshots/" title="Screenshots">Screenshots</a></li>
|
|
<li class="index-2 last"><a href="https://www.youtube.com/channel/UC_dcdgzuapBtAY4ol3x-90Q"
|
|
title="YouTube Channel">Videos</a></li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li class="index-9 last"><a href="https://www.patreon.com/citraemu" title="Patreon">Patreon</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
|
|
<div id="mainContainer" class="container" >
|
|
<div class="row">
|
|
|
|
</div>
|
|
|
|
<div class="row row-fluid">
|
|
<div id="content" class="col-xs-12 col-sm-12 col-md-9 col-lg-9 pull-right">
|
|
|
|
<h1>AES Keys</h1>
|
|
<h1 id="how-to-obtain-aes-keys">How to obtain AES Keys</h1>
|
|
<p>Users can provide some additional crypto keys to enable some advanced features in Citra. These keys are not officially provided by Citra due to legal considerations.</p>
|
|
<h3 id="automatically-recommended">Automatically (Recommended)</h3>
|
|
<p>In this method, you will create <code>aes_keys.txt</code> and <code>seeddb.bin</code> files from your console using a GodMode9 script. This will dump all the keys and other secrets you need for game decryption, Miis, amiibo, etc. <strong>This requires your 3DS to be on firmware 11.16.0 or 11.17.0.</strong></p>
|
|
<p>Note that the <code>seeddb.bin</code> reflects the seed encryption keys available on your console at the time of dumping. If you ever install and dump new games on your 3DS that use seed encryption, you may need to re-dump this file to acquire their seed keys for Citra.</p>
|
|
<ol>
|
|
<li>Download the GodMode9 script <a href="https://github.com/citra-emu/citra/raw/master/dist/dumpkeys/DumpKeys.gm9">here</a> (Right Click -> Save Link As) and save it to the <code>gm9/scripts</code> directory on your SD card.</li>
|
|
<li>Launch GodMode9 on your 3DS and run the script by pressing HOME, selecting “Scripts”, and selecting “DumpKeys”. Wait for the script to finish and return you to the GodMode9 menu, then turn off your 3DS.</li>
|
|
<li>On your SD card you will find <code>gm9/aes_keys.txt</code> and <code>gm9/seeddb.bin</code>. Copy these files to the <code>sysdata</code> folder in your Citra user directory.</li>
|
|
</ol>
|
|
<p><strong>If you see an error like <code>line 7: read fail</code> when dumping in GodMode9, your environment does not have access to the bootrom data and thus cannot dump the required keys. This can occur if you are using fastboot3DS; please launch GodMode9 through a different method.</strong></p>
|
|
<h3 id="manually">Manually</h3>
|
|
<p>As an alternative, instead of dumping a keys file using the script, you can create the file and provide all of the AES keys manually. The keys are supplied by filling the file <code>sysdata/aes_keys.txt</code> (located in the <a href="/wiki/user-directory">User Directory</a>) in the following format:</p>
|
|
<pre tabindex="0"><code>slot0x0DKeyX=0123456789ABCDEF0123456789ABCDEF
|
|
slot0x0DKeyY=0123456789ABCDEF0123456789ABCDEF
|
|
slot0x0DKeyN=0123456789ABCDEF0123456789ABCDEF
|
|
slot0x18KeyX=0123456789ABCDEF0123456789ABCDEF
|
|
slot0x1BKeyX=0123456789ABCDEF0123456789ABCDEF
|
|
slot0x25KeyX=0123456789ABCDEF0123456789ABCDEF
|
|
slot0x2CKeyX=0123456789ABCDEF0123456789ABCDEF
|
|
slot0x2DKeyX=0123456789ABCDEF0123456789ABCDEF
|
|
slot0x2DKeyY=0123456789ABCDEF0123456789ABCDEF
|
|
slot0x2DKeyN=0123456789ABCDEF0123456789ABCDEF
|
|
slot0x31KeyX=0123456789ABCDEF0123456789ABCDEF
|
|
slot0x31KeyY=0123456789ABCDEF0123456789ABCDEF
|
|
slot0x31KeyN=0123456789ABCDEF0123456789ABCDEF
|
|
slot0x3DKeyX=0123456789ABCDEF0123456789ABCDEF
|
|
common0=0123456789ABCDEF0123456789ABCDEF
|
|
common1=0123456789ABCDEF0123456789ABCDEF
|
|
</code></pre><p>The strings <code>0123456789ABCDEF0123456789ABCDEF</code> in the example above are all placeholder and should be replaced by correct 32-digit hex values of keys. Not all lines in the example are required at the same time. Please read the explanation below about which key enables which feature</p>
|
|
<h4 id="loading-encrypted-games">Loading encrypted games</h4>
|
|
<p>Required keys: <code>slot0x25KeyX</code> and <code>slot0x2CKeyX</code>.
|
|
If loading encrypted New 3DS games, <code>slot0x18KeyX</code> and <code>slot0x1BKeyX</code> are also required.</p>
|
|
<p>Games that use seed encryption also require their seed key to be present in your <code>seeddb.bin</code> file.</p>
|
|
<p>For those who are interested, <a href="https://www.reddit.com/r/3dshacks/comments/56lk5p/game_ncch_and_cdn_encryption_an_explanation/"><strong>here’s a write-up about 3DS security</strong></a>, that also talks about the <code>slot0x25KeyX</code>.</p>
|
|
<h4 id="sharing-mii-via-qr-code-between-citra-and-3ds">Sharing Mii via QR code between Citra and 3DS</h4>
|
|
<p>Required keys: single <code>slot0x2DKeyN</code>, OR <code>slot0x2DKeyX</code>, <code>slot0x2DKeyY</code> together.</p>
|
|
<h4 id="generating-accurate-uds-data-frame">Generating accurate UDS data frame</h4>
|
|
<p>Required keys: single <code>slot0x31KeyN</code>, OR <code>slot0x31KeyX</code>, <code>slot0x31KeyY</code> together.</p>
|
|
<h4 id="using-client-cert-dumped-from-3ds">Using client cert dumped from 3DS</h4>
|
|
<p>Required keys: single <code>slot0x0DKeyN</code>, OR <code>slot0x0DKeyX</code>, <code>slot0x0DKeyY</code> together.</p>
|
|
<h4 id="installing-encrypted-cia">Installing encrypted CIA</h4>
|
|
<p>Required keys: <code>slot0x3DKeyX</code> and <code>common0</code>. <code>common1</code>~<code>5</code>are probably also required for some
|
|
unusual CIA.</p>
|
|
|
|
|
|
</div>
|
|
<div id="sidebar" class="col-xs-12 col-sm-12 col-md-3 col-lg-3 pull-left">
|
|
<div id="advertisement" class = "ad">
|
|
<h3>Advertisement</h3>
|
|
<ins class="ad adsbygoogle"
|
|
style="display:block"
|
|
data-ad-client="ca-pub-4126545610079023"
|
|
data-ad-slot="4223809695"></ins>
|
|
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
|
|
</div>
|
|
|
|
<div class="tagcloud hidden-sm hidden-xs">
|
|
<h3>News Tag Cloud</h3>
|
|
<ul>
|
|
|
|
<li><a class="taxonomy-citra-release" href="/tags/citra-release">citra-release</a></li>
|
|
|
|
<li><a class="taxonomy-feature-update" href="/tags/feature-update">feature-update</a></li>
|
|
|
|
<li><a class="taxonomy-progress-report" href="/tags/progress-report">progress-report</a></li>
|
|
|
|
</ul>
|
|
</div>
|
|
|
|
<div id="twitter" class="hidden-sm hidden-xs">
|
|
<a class="twitter-timeline" data-tweet-limit="3" href="https://twitter.com/citraemu?ref_src=twsrc%5Etfw">Tweet Feed</a>
|
|
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="footer" class="container">
|
|
<div class="row">
|
|
|
|
<div class="col-md-2">
|
|
<h1>Citra</h1>
|
|
<a href="/entry">Blog</a>
|
|
<a href="/download/">Downloads</a>
|
|
<a href="/screenshots/">Screenshots</a>
|
|
<a href="https://www.patreon.com/citraemu">Patreon</a>
|
|
<a href="/donate/">Donate</a>
|
|
</div>
|
|
|
|
<div class="col-md-2">
|
|
<h1>Documentation</h1>
|
|
<a href="/help/">Help Documents</a>
|
|
<a href="/game/">Compatibility</a>
|
|
<a href="/wiki/home/">Wiki</a>
|
|
<a href="/wiki/faq/">FAQ</a>
|
|
</div>
|
|
|
|
<div class="col-md-2">
|
|
<h1>Blog</h1>
|
|
<a href="/entry">News & Articles</a>
|
|
<a href="https://citra-emu.org/index.xml">RSS 2.0</a>
|
|
</div>
|
|
|
|
<div class="col-md-2">
|
|
<h1>Social</h1>
|
|
<a href="https://www.youtube.com/channel/UC_dcdgzuapBtAY4ol3x-90Q">YouTube</a>
|
|
<a href="https://www.facebook.com/citra.emu">Facebook</a>
|
|
<a href="https://twitter.com/citraemu">Twitter</a>
|
|
<a href="https://community.citra-emu.org/">Forums</a>
|
|
<a href="/discord">Discord</a>
|
|
<a href="/chat">IRC</a>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="col-md-2">
|
|
<h1>Get Involved</h1>
|
|
<a href="https://github.com/citra-emu/citra">GitHub / Source</a>
|
|
<a href="https://github.com/citra-emu/citra/issues">Issues</a>
|
|
<a href="https://github.com/citra-emu/citra/pulls">Pull Requests</a>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="footer-bottom">
|
|
<div id="footer-brand"></div>
|
|
<div id="footer-legal">Copyright © 2024 Citra Emulator Project</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="https://citra-emu.org/js/script.js"></script>
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.10.0/baguetteBox.min.css" type="text/css" />
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.10.0/baguetteBox.min.js" type="text/javascript"></script>
|
|
|
|
<script type="text/javascript">
|
|
window.addEventListener("DOMContentLoaded", function() {
|
|
baguetteBox.run('.is-img-preview');
|
|
});
|
|
</script>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|