<!DOCTYPE html>
<html>
<!-- Created by GNU Texinfo 7.3, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- Copyright © 2010-2026 j8takagi -->
<title>Verify (YACASL2のインストール)</title>
<meta name="description" content="Verify (YACASL2のインストール)">
<meta name="keywords" content="Verify (YACASL2のインストール)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="index.html" rel="start" title="Top">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="install.html" rel="up" title="install">
<link href="Expand.html" rel="next" title="Expand">
<link href="Download.html" rel="prev" title="Download">
<style type="text/css">
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
div.example {margin-left: 3.2em}
kbd.kbd {font-style: oblique}
span:hover a.copiable-link {visibility: visible}
</style>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="section-level-extent" id="Verify">
<p class="nav-panel">
<span class="nav-button"><span class="nav-label">Next: </span><span class="nav-link"><a href="Expand.html" accesskey="n" rel="next">YACASL2ファイルの展開</a></span></span>, <span class="nav-button"><span class="nav-label">Previous: </span><span class="nav-link"><a href="Download.html" accesskey="p" rel="prev">YACASL2ファイルのダウンロード</a></span></span>, <span class="nav-button"><span class="nav-label">Up: </span><span class="nav-link"><a href="install.html" accesskey="u" rel="up">インストールの手順</a></span></span><span class="nav-button"> </span><span class="nav-button">[<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</span></p>
<hr>
<h3 class="section" id="YACASL2_30d5_30a1_30a4_30eb_306e_691c_8a3c"><span>2.2 YACASL2ファイルの検証<a class="copiable-link" href="#YACASL2_30d5_30a1_30a4_30eb_306e_691c_8a3c"> ¶</a></span></h3>
<p>ダウンロードが完了したら、圧縮ファイルが改竄されていないか検証します。検証には、GnuPG分離署名か、MD5ハッシュ値を使います。
</p>
<ul class="mini-toc">
<li><a href="#GnuPG_5206_96e2_7f72_540d_3067_306e_691c_8a3c" accesskey="1">GnuPG分離署名での検証</a></li>
<li><a href="#MD5_30cf_30c3_30b7_30e5_5024_3067_306e_691c_8a3c" accesskey="2">MD5ハッシュ値での検証</a></li>
</ul>
<div class="subsection-level-extent" id="GnuPG_5206_96e2_7f72_540d_3067_306e_691c_8a3c">
<h4 class="subsection"><span>2.2.1 GnuPG分離署名での検証<a class="copiable-link" href="#GnuPG_5206_96e2_7f72_540d_3067_306e_691c_8a3c"> ¶</a></span></h4>
<p>GnuPGの<code class="command">gpg</code>で圧縮ファイルを検証します。この検証を行うには、GnuPGがインストールされ、自分用の秘密鍵が作成されている必要があります。
また、あらかじめ<samp class="file">tar.gz</samp>または<samp class="file">tar.xz</samp>ファイルと、対応する検証用ファイル<samp class="file">tar.gz.asc</samp>または<samp class="file">tar.xz.asc</samp>ファイルを同じディレクトリーに保存し、そのディレクトリーに移動しておきます。
</p>
<p>次の手順では<code class="command">gpg --verify</code>による検証を2回実行させています。1回目では検証に失敗する一方で、必要な鍵などの情報を得ています。その鍵を<code class="command">gpg --recv-keys</code>で取得し、<code class="command">gpg --lsign-key</code>でローカル署名した後、再度<code class="command">gpg --verify</code>による検証を行い、成功させています。
</p>
<div class="example">
<pre class="example-preformatted">$ <kbd class="kbd">ls yacasl2.tar.gz*</kbd>
yacasl2.tar.gz yacasl2.tar.gz.asc
$ <kbd class="kbd">gpg --verify yacasl2.tar.xz.asc</kbd>
gpg: assuming signed data in 'yacasl2.tar.gz'
gpg: Signature made Tue 02 Jun 2026 01:14:17 AM JST
gpg: using EDDSA key 77EC282A2F7317EBFF7BFD067F593ED86D88E1D5
gpg: Can't check signature: No public key
$ <kbd class="kbd">gpg --recv-keys 77EC282A2F7317EBFF7BFD067F593ED86D88E1D5</kbd>
gpg: key 7F593ED86D88E1D5: public key "j8takagi <j8takagi@nifty.com>" imported
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2029-06-01
gpg: Total number processed: 1
gpg: imported: 1
$ <kbd class="kbd">gpg --lsign-key 77EC282A2F7317EBFF7BFD067F593ED86D88E1D5</kbd>
pub ed25519/7F593ED86D88E1D5
created: 2026-04-23 expires: 2031-04-30 usage: SC
trust: unknown validity: unknown
sub cv25519/B3433115DBD37726
created: 2026-04-23 expires: never usage: E
[ unknown] (1). j8takagi <j8takagi@nifty.com>
pub ed25519/7F593ED86D88E1D5
created: 2026-04-23 expires: 2031-04-30 usage: SC
trust: unknown validity: unknown
Primary key fingerprint: 77EC 282A 2F73 17EB FF7B FD06 7F59 3ED8 6D88 E1D5
j8takagi <j8takagi@nifty.com>
This key is due to expire on 2031-04-30.
Are you sure that you want to sign this key with your
key "j8takagi <j8takagi@nifty.com>" (4223493EBCB683A9)
The signature will be marked as non-exportable.
Really sign? (y/N) <kbd class="kbd">y</kbd>
$ <kbd class="kbd">gpg --verify yacasl2.tar.gz.asc</kbd>
gpg: assuming signed data in 'yacasl2.tar.gz'
gpg: Signature made Tue 02 Jun 2026 01:14:17 AM JST
gpg: using EDDSA key 77EC282A2F7317EBFF7BFD067F593ED86D88E1D5
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 1 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1 valid: 1 signed: 0 trust: 1-, 0q, 0n, 0m, 0f, 0u
gpg: next trustdb check due at 2029-06-01
gpg: Good signature from "j8takagi <j8takagi@nifty.com>" [full]
gpg: Signature notation: manu=2,2.5+1.12,0,3
</pre></div>
</div>
<div class="subsection-level-extent" id="MD5_30cf_30c3_30b7_30e5_5024_3067_306e_691c_8a3c">
<h4 class="subsection"><span>2.2.2 MD5ハッシュ値での検証<a class="copiable-link" href="#MD5_30cf_30c3_30b7_30e5_5024_3067_306e_691c_8a3c"> ¶</a></span></h4>
<p><code class="command">openssl</code>で圧縮ファイルから生成したMD5ハッシュ値が、ダウンロードした<samp class="file">yacasl2.tar.gz.md5sum</samp>ファイルの内容と同じかどうか<code class="command">diff</code>で検証します。
</p>
<div class="example">
<pre class="example-preformatted">$ <kbd class="kbd">openssl md5 yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum -</kbd>
Files yacasl2.tar.gz.md5sum and - are identical
</pre></div>
</div>
</div>
<hr>
<p class="nav-panel">
<span class="nav-button"><span class="nav-label">Next: </span><span class="nav-link"><a href="Expand.html">YACASL2ファイルの展開</a></span></span>, <span class="nav-button"><span class="nav-label">Previous: </span><span class="nav-link"><a href="Download.html">YACASL2ファイルのダウンロード</a></span></span>, <span class="nav-button"><span class="nav-label">Up: </span><span class="nav-link"><a href="install.html">インストールの手順</a></span></span><span class="nav-button"> </span><span class="nav-button">[<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</span></p>
</body>
</html>