<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Programming on kenji.blog</title><link>http://kenji.blog/ru/categories/programming/</link><description>Recent content in Programming on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>ru</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 07 Apr 2023 21:06:32 +0900</lastBuildDate><atom:link href="http://kenji.blog/ru/categories/programming/index.xml" rel="self" type="application/rss+xml"/><item><title>Как собрать OpenSSL в Windows</title><link>http://kenji.blog/ru/p/windows-%E3%81%A7-openssl-%E3%82%92%E3%83%93%E3%83%AB%E3%83%89%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Fri, 07 Apr 2023 21:06:32 +0900</pubDate><guid>http://kenji.blog/ru/p/windows-%E3%81%A7-openssl-%E3%82%92%E3%83%93%E3%83%AB%E3%83%89%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/windows-%E3%81%A7-openssl-%E3%82%92%E3%83%93%E3%83%AB%E3%83%89%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Как собрать OpenSSL в Windows" />&lt;h1 id="что-такое-openssl">Что такое OpenSSL
&lt;/h1>&lt;p>Это библиотека с открытым исходным кодом, которая предоставляет функции, необходимые для шифрованной связи.&lt;/p>
&lt;p>Чтобы использовать её из программы, необходимо собрать библиотеку из предоставленного исходного кода на языке C.&lt;/p>
&lt;p>Ниже приведена процедура сборки.&lt;/p>
&lt;h1 id="подготовка-среды-сборки">Подготовка среды сборки
&lt;/h1>&lt;ul>
&lt;li>
&lt;p>&lt;strong>Perl&lt;/strong>&lt;/p>
&lt;p>Скачайте &lt;code>strawberry-perl-5.32.1.1-64bit.msi&lt;/code> с &lt;a class="link" href="https://strawberryperl.com/" target="_blank" rel="noopener"
>https://strawberryperl.com/&lt;/a>. Подойдет последняя версия.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>NASM&lt;/strong>&lt;/p>
&lt;p>Скачайте &lt;code>2.16.01/nasm-2.16.01-win64.zip&lt;/code> из раздела &lt;code>Download&lt;/code> на &lt;a class="link" href="https://www.nasm.us/" target="_blank" rel="noopener"
>https://www.nasm.us/&lt;/a>. Подойдет последняя версия, кроме rc.
После установки необходимо добавить папку с установленным NASM в переменную среды PATH.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Visual Studio 2022&lt;/strong> или &lt;strong>Build Tools for Visual Studio 2022&lt;/strong>&lt;/p>
&lt;p>Установите &lt;code>Visual Studio 2022 Community&lt;/code> или &lt;code>Build Tools for Visual Studio 2022&lt;/code> с &lt;a class="link" href="https://visualstudio.microsoft.com/ja/downloads/" target="_blank" rel="noopener"
>https://visualstudio.microsoft.com/ja/downloads/&lt;/a>.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h1 id="процедура-сборки-openssl-в-windows">Процедура сборки OpenSSL в Windows
&lt;/h1>&lt;ol>
&lt;li>Скачайте и распакуйте &lt;code>openssl-3.1.0.tar.gz&lt;/code> с &lt;a class="link" href="https://www.openssl.org/source/" target="_blank" rel="noopener"
>https://www.openssl.org/source/&lt;/a>. Если не получается распаковать, выполните команду &lt;code>tar -xzf openssl-3.1.0.tar.gz&lt;/code> в командной строке.&lt;/li>
&lt;li>Запустите командную строку &lt;strong>от имени администратора&lt;/strong>&lt;/li>
&lt;li>Откройте распакованную папку&lt;/li>
&lt;li>Выполните следующую команду. &lt;em>Измените часть &lt;code>Community&lt;/code> в соответствии с версией установленного Visual Studio.&lt;/em>&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="s2">&amp;#34;C:\Program Files\Microsoft Visual Studio&lt;/span>&lt;span class="se">\202&lt;/span>&lt;span class="s2">2\Community\VC\Auxiliary\Build&lt;/span>&lt;span class="se">\v&lt;/span>&lt;span class="s2">cvarsall.bat&amp;#34;&lt;/span> &lt;span class="n">x64&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="5">
&lt;li>Выполните следующую команду&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">perl Configure VC-WIN64A
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="6">
&lt;li>Выполните следующую команду (это займет много времени)&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">nmake
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="7">
&lt;li>Выполните следующую команду (это займет много времени)&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">nmake test
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="8">
&lt;li>Выполните следующую команду&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">nmake install
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>В случае успеха OpenSSL будет установлен в &lt;code>C:\Program Files\OpenSSL&lt;/code>.&lt;/p>
&lt;p>Готово.&lt;/p>
&lt;h1 id="ссылки">Ссылки
&lt;/h1>&lt;p>&lt;a class="link" href="https://ja.wikipedia.org/wiki/OpenSSL" target="_blank" rel="noopener"
>https://ja.wikipedia.org/wiki/OpenSSL&lt;/a>&lt;/p></description></item></channel></rss>