<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Winget | OI-systems</title>
	<atom:link href="https://oi-systems.net/archives/tag/winget/feed" rel="self" type="application/rss+xml" />
	<link>https://oi-systems.net</link>
	<description>手軽に始められる『ブログ・自作アプリetc...』の情報を発信します。</description>
	<lastBuildDate>Sun, 21 Dec 2025 14:30:04 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://oi-systems.net/wp-content/uploads/2024/11/cropped-212808e1a8384082b9b8a240ba1f4e63-32x32.png</url>
	<title>Winget | OI-systems</title>
	<link>https://oi-systems.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【OpenSSL】コピペで完結！Windowsでの失敗しないCSR作成手順</title>
		<link>https://oi-systems.net/archives/1797</link>
					<comments>https://oi-systems.net/archives/1797#respond</comments>
		
		<dc:creator><![CDATA[クラノスケ]]></dc:creator>
		<pubDate>Sun, 21 Dec 2025 14:30:03 +0000</pubDate>
				<category><![CDATA[サーバーを守ろう]]></category>
		<category><![CDATA[CSR]]></category>
		<category><![CDATA[OpenSSL]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Winget]]></category>
		<guid isPermaLink="false">https://oi-systems.net/?p=1797</guid>

					<description><![CDATA[「組織単位（OU）を2つ設定しなければならない」「SAN（別名）の設定も必須」。 SAPなどの基幹システム用証明書を発行する際、このような複雑な要件に頭を抱えたことはありませんか？ 通常のOpenSSL対話モードではこれ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>「組織単位（OU）を2つ設定しなければならない」「SAN（別名）の設定も必須」。</p>



<p>SAPなどの基幹システム用証明書を発行する際、このような複雑な要件に頭を抱えたことはありませんか？</p>



<p>通常のOpenSSL対話モードではこれらの設定に対応しきれず、かといって全て手入力すると、長い部署コードでタイプミスをしてしまうリスクがあります。</p>



<p>インフラ担当者にとって、その手戻りのリスクは大きなストレスです。</p>



<p>この記事では、Windows環境で標準機能を活用し、設定ファイルを使って面倒な入力作業を「自動化」する手順をご紹介します。</p>



<p>この方法を使えば、複雑な要件もコピペだけで確実にクリアできるようになります。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-12 sbs-line sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://oi-systems.net/wp-content/uploads/2021/04/avatar20210421011549.jpg" alt="クラノスケ" class="speech-icon-image"/></figure><div class="speech-name">クラノスケ</div></div><div class="speech-balloon">
<p>私自身も、過去に長い部署コードを一文字間違えてCSRを作り直し、冷や汗をかいた経験があります。この記事で確実な方法をマスターしましょう！</p>
</div></div>



<h2 class="wp-block-heading"><strong>基礎知識</strong></h2>



<p>作業に入る前に、CSRの役割と全体の流れを整理します。</p>



<h3 class="wp-block-heading"><strong>CSRの役割</strong></h3>



<p>CSR（Certificate Signing Request）とは、「証明書への署名要求（申請書）」のことです。</p>



<p>サーバーの公開鍵情報や、組織名（O）、組織単位（OU）、国コードなどの情報が含まれています。</p>



<h3 class="wp-block-heading"><strong>全体フロー</strong></h3>



<p>CSR作成は、HTTPS通信を実現するための最初のステップです。全体像は以下のようになります。</p>



<ol class="wp-block-list">
<li><strong>CSRの作成（今回の作業）：</strong> サーバー上で秘密鍵とCSRを生成します。</li>



<li><strong>認証局（CA）への提出：</strong> 作成したCSRをVeriSignなどのパブリックCAや、社内CAに提出します。</li>



<li><strong>証明書の発行：</strong> CAが審査し、サーバー証明書（.crtなど）を発行します。</li>



<li><strong>インストール：</strong> 証明書と秘密鍵をサーバーにインストールします。</li>
</ol>



<p>このCSR作成段階で「OU」や「SAN」の設定が漏れていると、証明書は作り直しになってしまいます。</p>



<h2 class="wp-block-heading"><strong>設定ファイルの重要性</strong></h2>



<p>なぜ、WindowsでのCSR作成に設定ファイルが必要なのでしょうか？</p>



<h3 class="wp-block-heading"><strong>対話モードの限界</strong></h3>



<p>OpenSSLの標準的な対話モードには、以下の壁があります。</p>



<ul class="wp-block-list">
<li><strong>複数OUの壁：</strong> 基本的にOUは1つしか入力できませんが、ポリシーによっては「部署コード」と「部署名」の2つが求められることがあります。</li>



<li><strong>SANの壁：</strong> 最近の必須要件である「SAN（Subject Alternative Name）」を、対話モードだけでは含めることができません。</li>
</ul>



<p>これらを解決し、人為的ミスを防ぐ唯一の方法が、これから紹介する<strong>設定ファイル（cnf）の活用</strong>です。</p>



<h2 class="wp-block-heading"><strong>導入手順</strong></h2>



<p>まずは環境構築です。インストーラーを探す必要はありません。</p>



<h3 class="wp-block-heading"><strong>インストール</strong></h3>



<p>Windows 10/11以降であれば、標準搭載の管理ツールWingetを使用します。</p>



<div class="wp-block-cocoon-blocks-caption-box-1 caption-box block-box not-nested-style cocoon-block-caption-box"><div class="caption-box-label block-box-label box-label"><span class="caption-box-label-text block-box-label-text box-label-text">1.<strong>インストール</strong></span></div><div class="caption-box-content block-box-content box-content">
<p>管理者権限でコマンドプロンプトを開き、以下のコマンドを実行してください。</p>



<div class="hcb_wrap"><pre class="prism off-numbers lang-bash" data-lang="Bash" data-show-lang="0"><code>winget search openssl
winget install -e --id ShiningLight.OpenSSL.Light</code></pre></div>
</div></div>



<p><br></p>



<h3 class="wp-block-heading"><strong>ディレクトリ移動</strong></h3>



<p>インストール完了後、作業用ディレクトリへ移動します。</p>



<p></p>



<div class="wp-block-cocoon-blocks-caption-box-1 caption-box block-box not-nested-style cocoon-block-caption-box"><div class="caption-box-label block-box-label box-label"><span class="caption-box-label-text block-box-label-text box-label-text">作業用ディレクトリへ移動します。</span></div><div class="caption-box-content block-box-content box-content">
<div class="hcb_wrap"><pre class="prism off-numbers lang-bash" data-lang="Bash" data-show-lang="0"><code>cd C:\Program Files\OpenSSL-Win64\bin</code></pre></div>
</div></div>



<p><br></p>



<h2 class="wp-block-heading"><strong>設定ファイル作成</strong></h2>



<p>ここが最重要ポイントです。「変えたくない部分は固定」し、「サーバーごとに変わる部分は手入力」にする設定ファイルを作成します。</p>



<h3 class="wp-block-heading"><strong>記述例</strong></h3>



<p>メモ帳などのテキストエディタで san_config.cnf というファイルを作成し、以下の内容を保存してください。</p>



<p>ポイントは、番号を振って複数OUに対応させている点と、_default で固定値を埋め込んでいる点です。</p>



<p>※以下のコード内の部署コード（00000000）は、実際のコードに書き換えてください。</p>



<div class="wp-block-cocoon-blocks-caption-box-1 caption-box block-box not-nested-style cocoon-block-caption-box"><div class="caption-box-label block-box-label box-label"><span class="caption-box-label-text block-box-label-text box-label-text"><strong>設定ファイル作成</strong></span></div><div class="caption-box-content block-box-content box-content">
<div class="hcb_wrap"><pre class="prism off-numbers lang-plain" data-file="san_config.cnf" data-show-lang="0"><code># OpenSSL SAN configuration file

[ req ]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = yes

[ req_distinguished_name ]
countryName = Country Name (2 letter code)
stateOrProvinceName = State or Province Name (full name)
localityName = Locality Name (eg, city)
organizationName = Organization Name (eg, company)

# --- 2つのOU設定（固定値・自動入力） ---
# ここに部署コードや部署名を固定値として入れておきます
# &quot;oisystem&quot; 関連のコードもここで定義します

0.organizationalUnitName = Organizational Unit Name 1 (OU)
0.organizationalUnitName_default = 00000000

1.organizationalUnitName = Organizational Unit Name 2 (OU)
1.organizationalUnitName_default = oisystem Web AS
# -------------------------------------

commonName = Common Name (e.g. server FQDN)
emailAddress = Email Address

[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[ alt_names ]
# 必要なSAN（DNS名）を記述
DNS.1 = oisystem-ap-v.aws.local</code></pre></div>
</div></div>



<p></p>



<h3 class="wp-block-heading"><strong>動作イメージ</strong></h3>



<p>このファイルを使うと、入力プロセスは以下のようになります。</p>



<ul class="wp-block-list">
<li><strong>OU（部署コード等）：</strong> Enterキーを押すだけで、正確な値が自動入力されます。タイプミスを100%防げます。</li>



<li><strong>CN（サーバー名）：</strong> その都度手入力が可能です。これにより、複数のサーバーで設定ファイルを使い回せます。</li>
</ul>



<h2 class="wp-block-heading"><strong>CSR生成</strong></h2>



<p>設定ファイルさえできれば、あとはコマンドを流すだけの単純作業です。</p>



<h3 class="wp-block-heading"><strong>コマンド実行</strong></h3>



<div class="wp-block-cocoon-blocks-caption-box-1 caption-box block-box not-nested-style cocoon-block-caption-box"><div class="caption-box-label block-box-label box-label"><span class="caption-box-label-text block-box-label-text box-label-text">CSR生成</span></div><div class="caption-box-content block-box-content box-content">
<p>作成した san_config.cnf を読み込ませてCSRを生成します。</p>



<div class="hcb_wrap"><pre class="prism off-numbers lang-bash" data-lang="Bash" data-show-lang="0"><code>openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out server.csr -config san_config.cnf</code></pre></div>
</div></div>



<p>実行中、設定ファイルで _default を指定した箇所（OUなど）は値が表示された状態で止まりますので、そのまま <strong>Enterキー</strong> を押してください。</p>



<h3 class="wp-block-heading"><strong>リネーム</strong></h3>



<p>生成されるファイルは private.key と server.csr です。</p>



<p>取り違えを防ぐため、生成直後に必ずリネームしましょう。ここでは自社基準の oisystem- プレフィックスを付与します。</p>



<div class="wp-block-cocoon-blocks-caption-box-1 caption-box block-box not-nested-style cocoon-block-caption-box"><div class="caption-box-label block-box-label box-label"><span class="caption-box-label-text block-box-label-text box-label-text">リネーム</span></div><div class="caption-box-content block-box-content box-content">
<p></p>



<div class="hcb_wrap"><pre class="prism off-numbers lang-bash" data-lang="Bash" data-show-lang="0"><code>ren private.key oisystem-ap-v_private.key
ren server.csr oisystem-ap-v_server.csr</code></pre></div>
</div></div>



<p><br></p>



<h2 class="wp-block-heading"><strong>注意点</strong></h2>



<p>作業を確実にするため、以下の2点にご注意ください。</p>



<ul class="wp-block-list">
<li><strong>改行コードの崩れ：</strong> Web上のコードをコピペする際、セクション（[ req ]など）の改行が崩れるとエラーになります。保存後に再確認してください。</li>



<li><strong>作業パスの権限：</strong> Program Files 配下などは、書き込み権限がなくエラーになることがあります。その場合は管理者権限で実行するか、C:\Work などのフォルダで作業してください。</li>
</ul>



<h2 class="wp-block-heading"><strong>まとめ</strong></h2>



<p>複雑な要件を「手作業」や「気合」で乗り切ろうとすると、いつか必ずミスが起きます。</p>



<p>特に oisystem 関連のような重要システムでは、小さなミスが大きな遅延につながりかねません。</p>



<p>Wingetで環境を整え、設定ファイル（cnf）を活用することで、誰がやっても同じ品質でCSRを作成できるようになります。</p>



<p>まずはコマンドプロンプトを開き、 winget search openssl から始めてみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://oi-systems.net/archives/1797/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
