15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало
30.10.2024
1 +1

Какво е CSR и как да го създадете? Пълно ръководство стъпка по стъпка

Защитаването на вашия уебсайт с HTTPS вече не е по избор — то е фундаментално изискване за доверието на потребителите, защитата на данните и класирането в търсачките. В основата на всяко издаване на SSL/TLS сертификат стои критичен, но често неразбран компонент: Заявката за подписване на сертификат (CSR). Независимо дали сте разработчик, системен администратор или собственик на уебсайт, разбирането как да генерирате и подадете правилно CSR може да ви спести часове на отстраняване на проблеми и да гарантира, че сайтът ви е правилно защитен.

В това изчерпателно ръководство ще обясним точно какво е CSR, защо е важен, и ще ви преведем през множество методи за създаването му — включително OpenSSL, cPanel и IIS.

Какво е CSR (Заявка за подписване на сертификат)?

A Заявката за подписване на сертификат (CSR) е блок от Base64-кодиран текст, който генерирате на вашия сървър и подавате до Сертифициращ орган (CA) — като Let’s Encrypt, DigiCert или Sectigo — при кандидатстване за SSL сертификат. CA чете информацията, вградена в CSR, и я използва за издаване на цифрово подписан сертификат, който активира HTTPS на вашия домейн.

Мислете за CSR като за официален формуляр за кандидатстване: той казва на CA кои сте, кой домейн искате да защитите, и предоставя криптографския публичен ключ, който ще бъде вграден в окончателния сертификат.

Каква информация съдържа CSR?

Стандартният CSR включва следните полета:

ПолеОписаниеПример
Common Name (CN)Напълно квалифицирано име на домейн (FQDN) за защитаwww.example.com
Organization Name (O)Официално наименование на компанията или физическото лицеExample Corp Ltd
Organizational Unit (OU)Отдел или подразделение (незадължително)IT Department
Locality (L)Град, в който се намира организациятаNew York
State/Province (ST)Пълно наименование на щата или провинциятаNew York
Country (C)Двубуквен ISO код на държаватаUS
Email AddressИмейл за контакт (незадължително)admin@example.com
Public KeyКриптографски ключ, използван за криптиранеRSA 2048-bit или по-висок

> Важно: CSR не съдържа вашия частен ключ. Частният ключ се генерира заедно с CSR, но трябва винаги да се съхранява сигурно на вашия сървър и никога да не се споделя с никого — включително с CA.

Защо е важен CSR?

Разбирането на ролята на CSR помага да се изясни защо всяко издаване на SSL сертификат започва с тази стъпка.

1. Той инициира заявката за SSL сертификат

Без CSR, CA няма начин да разбере кой домейн искате да защитите, кой го притежава или кой публичен ключ да вгради в сертификата. CSR е официалният механизъм, който стартира целия работен процес по издаване на сертификата.

2. Той установява криптографската основа

CSR съдържа вашия публичен ключ, който е математически свързан с вашия частен ключ. Заедно тези ключове формират асиметричната криптографска основа на SSL/TLS. Когато браузър се свързва с вашия сървър, той използва публичния ключ (от сертификата) за криптиране на данните, а вашият сървър използва частния ключ за декриптирането им — гарантирайки, че никоя трета страна не може да прихване комуникацията.

3. Той позволява валидиране на самоличността

В зависимост от вида на SSL сертификата, който заявявате, CA ще извърши различни нива на проверка на самоличността, използвайки информацията от вашия CSR:

  • Валидиране на домейн (DV): CA проверява само, че контролирате домейна. Бързо и автоматизирано.
  • Валидиране на организация (OV): CA проверява законното съществуване на вашата организация в допълнение към контрола върху домейна.
  • Разширено валидиране (EV): Най-строгата проверка — CA верифицира правната идентичност, физическия адрес и оперативния статус.

Ако управлявате бизнес уебсайт или платформа за електронна търговия, изборът на правилното ниво на валидиране е от значение. Можете да разгледате гамата от SSL сертификати на AlexHost, за да намерите опцията, която най-добре отговаря на вашите изисквания за сигурност.

Как да създадете CSR: Инструкции стъпка по стъпка

Създаването на CSR включва две основни стъпки: генериране на частен ключ и след това използване на този ключ за създаване на CSR файла. По-долу разглеждаме най-разпространените методи.

Метод 1: Използване на OpenSSL (Linux, macOS, Windows)

OpenSSL е най-широко използваният и универсално достъпен инструмент за генериране на CSR. Работи на Linux сървъри, macOS и Windows (с инсталиран OpenSSL).

#### Стъпка 1: Генерирайте частен ключ

Отворете терминала (или командния ред на Windows) и изпълнете следната команда:

openssl genrsa -out private.key 2048

Какво прави това:

    genrsa — генерира RSA частен ключ
    -out private.key — записва ключа във файл с име private.key
  • 2048 — задава дължината на ключа в битове (2048-bit е минимално препоръчителното; използвайте 4096 за по-висока сигурност)
  • > Съвет за сигурност: Съхранявайте private.key в сигурна директория с ограничен достъп. Никога не го качвайте на публично място или го споделяйте по имейл.

    #### Стъпка 2: Генерирайте CSR

    След като частният ключ е създаден, изпълнете следната команда за генериране на CSR:

    openssl req -new -key private.key -out yourdomain.csr

    OpenSSL ще ви подкани интерактивно да попълните полетата на CSR:

    Country Name (2 letter code) [AU]: US
    State or Province Name (full name) [Some-State]: California
    Locality Name (eg, city) []: San Francisco
    Organization Name (eg, company) [Internet Widgits Pty Ltd]: Example Corp Ltd
    Organizational Unit Name (eg, section) []: IT Department
    Common Name (e.g. server FQDN or YOUR name) []: www.example.com
    Email Address []: admin@example.com
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:

    > Професионален съвет: Оставете полето „challenge password” празно, освен ако вашият CA изрично не го изисква. То добавя сложност без значителна полза за сигурността в повечето съвременни работни процеси.

    След приключване, вашият CSR е записан в yourdomain.csr. Можете да видите съдържанието му с:

    openssl req -text -noout -verify -in yourdomain.csr

    #### Стъпка 3: Генерирайте ключа и CSR с една команда

    За ефективност можете да комбинирате стъпки 1 и 2 в една команда:

    openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out yourdomain.csr

    Това генерира едновременно частния ключ и CSR, като ви подканва за същата информация за полетата.

    #### Стъпка 4: Подайте CSR до вашия сертифициращ орган

    Отворете файла yourdomain.csr в текстов редактор и копирайте цялото му съдържание — включително редовете -----BEGIN CERTIFICATE REQUEST----- и -----END CERTIFICATE REQUEST-----. Поставете го във формуляра за подаване на вашия CA при закупуване или подновяване на SSL сертификата.

    #### Стъпка 5: Защитете вашия частен ключ

    След получаване и инсталиране на SSL сертификата, уверете се, че private.key е:

    • Съхраняван с ограничени права за достъп до файла (chmod 600 private.key на Linux)
    • Архивиран на сигурно, криптирано място
    • Никога не предаван по незащитени канали

    Ако частният ключ бъде изгубен или компрометиран, трябва да генерирате нова двойка ключове, да създадете нов CSR и да поискате повторно издаване на сертификата.

    Метод 2: Използване на cPanel (Споделен хостинг и VPS)

    Ако вашата хостинг среда използва cPanel, можете да генерирате CSR директно чрез графичния интерфейс — без необходимост от опит с командния ред. Това е идеално за потребители на Споделен уеб хостинг или VPS с cPanel.

    Стъпки:

    1. Влезте в акаунта си в cPanel.
    2. Отидете до раздел Security и кликнете върху SSL/TLS.
    3. Под Certificate Signing Requests (CSR), кликнете „Generate, view, or delete SSL certificate signing requests.”
    4. Попълнете полетата на формуляра за CSR:
    • Key Size: Изберете 2048 (препоръчително) или 4096 бита
    • Domains: Въведете вашия FQDN (напр. www.example.com)
    • City, State, Country: Данни за местоположението на вашата организация
    • Company & Division: Официално наименование на организацията и отдел
    • Email: Имейл адрес за контакт
    1. Кликнете Generate.
    2. cPanel ще покаже вашия CSR. Копирайте пълния текст и го подайте до вашия CA.

    > cPanel също така автоматично съхранява вашия частен ключ и го свързва с CSR, опростявайки последващата стъпка по инсталиране на сертификата.

    Метод 3: Използване на IIS на Windows Server

    За администратори, управляващи уебсайтове на Windows Server с Internet Information Services (IIS), IIS Manager предоставя вграден съветник за генериране на CSR.

    Стъпки:

    1. Отворете IIS Manager (inetmgr).
    2. В панела Connections вляво изберете името на вашия сървър (не конкретен сайт).
    3. В централния панел щракнете двукратно върху Server Certificates.
    4. В панела Actions вдясно кликнете върху Create Certificate Request…
    5. Попълнете Distinguished Name Properties:
    • Common name, Organization, Organizational unit, City, State, Country
    1. Кликнете Next.
    2. На страницата Cryptographic Service Provider Properties:
    • Cryptographic service provider: Microsoft RSA SChannel Cryptographic Provider
    • Bit length: 2048 (минимум) или 4096
    1. Кликнете Next, изберете път за записване на CSR и кликнете Finish.
    2. Отворете записания файл .txt, копирайте съдържанието му и го подайте до вашия CA.

    > Забележка: IIS съхранява вътрешно чакащия частен ключ. Не изтривайте чакащата заявка от IIS Manager, докато не сте инсталирали успешно издадения сертификат.

    Генериране на CSR: Бързо сравнение на методите

    МетодПлатформаНиво на уменияНай-подходящ за
    OpenSSL CLILinux, macOS, WindowsСредно напредналРазработчици, системни администратори, VPS потребители
    cPanel GUIВсеки хостинг базиран на cPanelНачинаещСподелен хостинг, управлявани VPS потребители
    IIS ManagerWindows ServerСредно напредналУеб сървъри базирани на Windows

    Чести грешки при CSR, които трябва да избягвате

    Дори опитни администратори понякога допускат грешки при генерирането на CSR. Ето най-честите проблеми:

    1. Използване на неправилно Common Name: CN трябва точно да съответства на домейна, който искате да защитите. За wildcard сертификат използвайте *.example.com. За multi-domain (SAN) сертификат, интерфейсът на вашия CA ще обработи допълнителните домейни отделно.
    1. Съкращаване на полето State/Province: Винаги изписвайте пълното наименование (напр. „California”, не „CA”). Някои CA ще отхвърлят съкратени записи.
    1. Загуба на частния ключ: CSR и частният ключ са съвпадаща двойка. Ако загубите частния ключ преди инсталирането на сертификата, ще трябва да започнете отначало.
    1. Използване на размер на ключа под 2048 бита: Съвременните CA и браузъри изискват минимум 2048-bit RSA ключове. Използването на по-малко ще доведе до отхвърляне или предупреждения от браузъра.
    1. Повторно използване на стари CSR: Винаги генерирайте нов CSR за всяка нова заявка за сертификат или подновяване. Повторното използване на CSR може да въведе рискове за сигурността и може да бъде отхвърлено от някои CA.

    След CSR: Инсталиране на вашия SSL сертификат

    След като вашият CA валидира CSR и издаде сертификата, ще получите един или повече файлове .crt или .pem. Стъпките за инсталиране варират в зависимост от платформата:

    • Apache/Nginx на Linux: Конфигурирайте пътищата до файловете на сертификата във вашата конфигурация на виртуалния хост
    • cPanel: Използвайте SSL/TLS Manager за инсталиране на сертификата спрямо съответстващия частен ключ
    • IIS: Използвайте „Complete Certificate Request” в IIS Manager за импортиране на издадения сертификат
    • Plesk / DirectAdmin: Използвайте вградените интерфейси за управление на SSL сертификати

    За потребители на VPS хостинг или Dedicated сървъри, имате пълен root достъп за управление на инсталирането на сертификати директно чрез командния ред или предпочитания от вас контролен панел.

    Често задавани въпроси относно CSR

    Мога ли да използвам повторно CSR за множество сертификати?

    Технически да, но това е силно обезкуражено. Всяка заявка за сертификат трябва да използва новогенериран CSR и двойка ключове, за да се поддържа правилна хигиена на сигурността.

    Колко дълго е валиден CSR?

    Самият CSR не изтича, но сертификатът, издаден от него, изтича (обикновено 1 година за съвременните SSL сертификати). Трябва да генерирате нов CSR всеки път, когато подновявате сертификата си.

    Каква е разликата между CSR и сертификат?

    CSR е вашата *заявка* за получаване на сертификат. Сертификатът е *издаденият документ* от CA, подписан с частния ключ на CA, на който браузърите имат доверие.

    Нужен ли ми е CSR за Let’s Encrypt?

    ACME протоколът на Let’s Encrypt (използван от инструменти като Certbot) обработва генерирането на CSR автоматично зад кулисите. Въпреки това, можете да предоставите персонализиран CSR, ако е необходимо.

    Заключение

    Заявката за подписване на сертификат (CSR) е съществената първа стъпка при получаването на SSL/TLS сертификат за вашия уебсайт. Тя пакетира вашия публичен ключ и организационна идентичност в стандартизиран формат, който сертифициращите органи използват за издаване на доверени сертификати — активирайки HTTPS, криптирайки потребителските данни и изграждайки доверието на посетителите.

    Независимо дали използвате OpenSSL на Linux VPS, графичния интерфейс на cPanel при план за споделен хостинг, или IIS Manager на Windows Server, процесът следва едни и същи фундаментални принципи: генерирайте сигурен частен ключ, създайте CSR с точна информация, подайте го до вашия CA и пазете частния си ключ през цялото време.

    Готови ли сте да защитите уебсайта си? Разгледайте SSL сертификатите на AlexHost за набор от опции, подходящи за всеки размер на проект и бюджет — от базово валидиране на домейн до сертификати с разширено валидиране за корпоративни среди. Комбинирайте SSL сертификата си с надежден VPS хостинг или Dedicated сървъри, за да гарантирате, че вашата инфраструктура е толкова стабилна, колкото и вашата позиция по сигурността.

    15%

    Спести 15% на всички хостинг услуги

    Тествай уменията си и получи Отстъпка за всеки хостинг план

    Използвайте код:

    Skills
    За начало