Files
progcode/web/public/assets/editorial/2018/tls-ca-refresh-plan-2018.svg
huncode 7c53ffe6bc
Build and deploy / deploy (push) Successful in 14s
revise July and August 2018 articles
2026-07-31 09:41:53 +03:00

68 lines
4.5 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 640" role="img" aria-labelledby="title desc">
<title id="title">Контролируемое обновление CA bundle для PHP cURL</title>
<desc id="desc">План из пяти этапов: определить активный CA store, подготовить версионный bundle, проверить цепочку на стенде, переключить одну настройку и подтвердить PHP-запрос с включённой проверкой.</desc>
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#28334a"/>
<stop offset="1" stop-color="#255768"/>
</linearGradient>
<marker id="arrow" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto">
<path d="M1 1 L11 6 L1 11 Z" fill="#f4ca76"/>
</marker>
</defs>
<rect width="1200" height="640" rx="28" fill="url(#bg)"/>
<text x="65" y="78" fill="#fffdf8" font-family="Arial, sans-serif" font-size="34" font-weight="700">CA bundle меняем как релизный артефакт</text>
<text x="65" y="116" fill="#d8e7ec" font-family="Arial, sans-serif" font-size="21">Новый файл сначала доказывает нужную цепочку, затем становится конфигурацией PHP.</text>
<g font-family="Arial, sans-serif">
<g>
<rect x="65" y="218" width="195" height="225" rx="18" fill="#f8f3e7"/>
<circle cx="104" cy="260" r="21" fill="#d68b3b"/>
<text x="97" y="268" fill="#fff" font-size="21" font-weight="700">1</text>
<text x="93" y="310" fill="#254052" font-size="21" font-weight="700">Найти</text>
<text x="93" y="337" fill="#254052" font-size="21" font-weight="700">источник</text>
<text x="93" y="375" fill="#466477" font-size="18">CAINFO, php.ini</text>
<text x="93" y="403" fill="#466477" font-size="18">или system store</text>
</g>
<g>
<rect x="285" y="218" width="195" height="225" rx="18" fill="#e8f5fb"/>
<circle cx="324" cy="260" r="21" fill="#4694b1"/>
<text x="317" y="268" fill="#fff" font-size="21" font-weight="700">2</text>
<text x="313" y="316" fill="#254052" font-size="23" font-weight="700">Кандидат</text>
<text x="313" y="352" fill="#466477" font-size="18">версионный PEM</text>
<text x="313" y="380" fill="#466477" font-size="18">из trusted source</text>
</g>
<g>
<rect x="505" y="218" width="195" height="225" rx="18" fill="#e9f6e9"/>
<circle cx="544" cy="260" r="21" fill="#5d9b68"/>
<text x="537" y="268" fill="#fff" font-size="21" font-weight="700">3</text>
<text x="533" y="316" fill="#254052" font-size="23" font-weight="700">Проверка</text>
<text x="533" y="352" fill="#466477" font-size="18">openssl verify</text>
<text x="533" y="380" fill="#466477" font-size="18">leaf + intermediate</text>
</g>
<g>
<rect x="725" y="218" width="195" height="225" rx="18" fill="#f4eafa"/>
<circle cx="764" cy="260" r="21" fill="#9b6cba"/>
<text x="757" y="268" fill="#fff" font-size="21" font-weight="700">4</text>
<text x="753" y="316" fill="#254052" font-size="20" font-weight="700">Переключить</text>
<text x="753" y="352" fill="#466477" font-size="18">одну настройку</text>
<text x="753" y="380" fill="#466477" font-size="18">и перезапустить</text>
</g>
<g>
<rect x="945" y="218" width="190" height="225" rx="18" fill="#fff2e7"/>
<circle cx="984" cy="260" r="21" fill="#cf7750"/>
<text x="977" y="268" fill="#fff" font-size="21" font-weight="700">5</text>
<text x="973" y="316" fill="#254052" font-size="23" font-weight="700">Подтвердить</text>
<text x="973" y="352" fill="#466477" font-size="18">PHP cURL при</text>
<text x="973" y="380" fill="#466477" font-size="18">VERIFYPEER=true</text>
</g>
</g>
<g fill="none" stroke="#f4ca76" stroke-width="5" marker-end="url(#arrow)">
<path d="M270 330 H274"/>
<path d="M490 330 H494"/>
<path d="M710 330 H714"/>
<path d="M930 330 H934"/>
</g>
<rect x="155" y="510" width="890" height="64" rx="14" fill="#182d43" stroke="#f4ca76" stroke-width="2"/>
<text x="190" y="551" fill="#f8fcff" font-family="Arial, sans-serif" font-size="21">Фиксируем: версию bundle, путь, проверяемый hostname и способ отката.</text>
</svg>