最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linux服務(wù)器手動(dòng)生成安全的ssl證書(shū)實(shí)現(xiàn)方式

 更新時(shí)間:2026年04月16日 11:31:33   作者:friend_X  
文章介紹了生成CA根證書(shū)和自簽名SSL證書(shū)的過(guò)程,包括創(chuàng)建CA私鑰、生成CA自簽名證書(shū)、生成服務(wù)器私鑰和證書(shū)簽署請(qǐng)求、使用CA根證書(shū)簽名SSL證書(shū)等步驟,最后提供了最終的文件列表和Nginx配置使用總結(jié)

一、生成CA根證書(shū)(建立可信根)

1.1.創(chuàng)建加密的CA私鑰

使用AES-256加密算法生成2048位RSA私鑰,防止私鑰泄露導(dǎo)致信任鏈被破壞:

openssl genrsa -des3 -out selfca.key 2048

安全要點(diǎn):私鑰必須設(shè)置強(qiáng)密碼(建議16位以上混合字符),并存儲(chǔ)在加密存儲(chǔ)設(shè)備中。

說(shuō)明:

  • openssl: OpenSSL 工具的命令行執(zhí)行器
  • genrsa: 生成RSA密鑰的命令
  • -des3: 使用Triple-DES算法對(duì)生成的私鑰進(jìn)行加密,這會(huì)在生成私鑰時(shí)要求你設(shè)置一個(gè)密碼,以便在每次使用私鑰時(shí)都需要提供密碼
  • -out selfca.key: 指定生成的私鑰的輸出文件名為 selfca.key,私鑰文件將被保存在當(dāng)前工作目錄中
  • 2048: 指定生成的RSA私鑰的位數(shù)為2048位,這是一種常見(jiàn)的安全密鑰長(zhǎng)度

1.2.生成CA自簽名證書(shū)

openssl req -new -x509 -days 3650 -key selfca.key -subj "/C=CN/ST=GD/L=ZS/O=SJJ/OU=SJJ/CN=CA" -out selfca.crt

說(shuō)明:

  • openssl req:這是 OpenSSL 工具中用于處理證書(shū)簽署請(qǐng)求(CSR)的命令
  • -new:表示創(chuàng)建新的 CSR
  • -x509:表示生成自簽名的 X.509 證書(shū),而不是生成 CSR
  • -days 3650:設(shè)置證書(shū)的有效期為 3650 天(10 年)
  • -key selfca.key:指定用于生成證書(shū)的私鑰文件為 selfca.key
  • -subj "/C=CN/ST=GD/L=ZS/O=SJJ/OU=SJJ/CN=CA": 設(shè)置證書(shū)主題(Subject)的信息。這里使用了簡(jiǎn)化的 Distinguished Name (DN),包括了國(guó)家(C=CN)、省/州(ST=GD)、城市(L=ZS)、組織(O=SJJ)、組織單位(OU=SJJ)、通用名稱(CN=CA)等信息
  • -out selfca.crt 指定生成的證書(shū)文件的輸出路徑和文件名,這里為 selfca.crt

注意:執(zhí)行上述指令可能會(huì)報(bào)出以下錯(cuò)誤

Can't open "/usr/local/ssl/openssl.cnf" for reading, No such file or directory 40F7B4C4377F0000:error:80000002:system library:(unknown function):No such file or directory:crypto/bio/bss_file.c:67:calling fopen(/usr/local/ssl/openssl.cnf, r) 40F7B4C4377F0000:error:10000080:BIO routines:(unknown function):no such file:crypto/bio/bss_file.c:75:

出現(xiàn)該報(bào)錯(cuò)的原因,是由于openssl的配置文件在每臺(tái)服務(wù)器的目錄位置不同,在默認(rèn)的openssl配置路徑找不到對(duì)應(yīng)文件,因此需要執(zhí)行以下指令

# 在常見(jiàn)位置查找配置文件
find / -name "openssl.cnf" 2>/dev/null

執(zhí)行上面的指令后,會(huì)輸出以下內(nèi)容:

根據(jù)圖示,找到自己服務(wù)器上對(duì)應(yīng)的配置文件路徑,然后需要重新執(zhí)行以下指令:

# 重新執(zhí)行生成指令,其中xxxx是由上述圖例的目錄地址替換,而我的案例是替換成【/usr/local/openssl/ssl/openssl.cnf】

openssl req -new -x509 -days 3650 -key selfca.key  -subj "/C=CN/ST=GD/L=ZS/O=SJJ/OU=SJJ/CN=CA" -out selfca.crt  -config xxxx

說(shuō)明:之后執(zhí)行的指令都有可能會(huì)報(bào)上述的錯(cuò)誤,因此可以在執(zhí)行的指令后面加上【-conifg xxxx】,其中【xxxx】是執(zhí)行指令的服務(wù)器存放openssl配置的地址

注意:執(zhí)行上述指令可能會(huì)報(bào)出以下錯(cuò)誤

errог:2406F079: random number generator: RAND_load_file: Cannot open file:сrypto/rand/randfile.c:88: Filename=/root/. rnd

出現(xiàn)該報(bào)錯(cuò)的因?yàn)槭牵喝鄙偕呻S機(jī)數(shù)的文件

 需要執(zhí)行以下指令:

# 生成隨機(jī)數(shù)文件并設(shè)置權(quán)限
openssl rand -out /root/.rnd 2048

chmod 600 /root/.rnd

二、 自簽名SSL證書(shū)

openssl req -newkey rsa:2048 -nodes -keyout server.key -subj "/C=CN/ST=GD/L=ZS/O=SJJ/OU=SJJ/CN=xx.xx.xx.xx" -out server.csr

說(shuō)明:

  • openssl req:這是 OpenSSL 工具中用于處理證書(shū)簽署請(qǐng)求(CSR)的命令
  • -newkey rsa:2048:創(chuàng)建一個(gè)新的 RSA 密鑰對(duì),其中包括一個(gè) 2048 位的 RSA 私鑰和相應(yīng)的公鑰
  • -nodes:生成的私鑰不使用密碼進(jìn)行加密。這意味著私鑰文件 server.key 將不需要密碼才能訪問(wèn)
  • -keyout server.key:指定生成的私鑰文件的輸出路徑和文件名,這里為 server.key
  • -subj "/C=CN/ST=BJ/L=BJ/O=MyRootServer/OU=MyServer/CN=xx.xx.xx.xx":設(shè)置證書(shū)主題(Subject)的信息。這里使用了簡(jiǎn)化的 Distinguished Name (DN),包括了國(guó)家(C=CN)、省/州(ST=BJ)、城市(L=BJ)、組織(O=MyRootServer)、組織單位(OU=MyServer)、通用名稱(CN=xx.xx.xx.xx)等信息。通用名稱(CN)通常用于指定服務(wù)器的主機(jī)名或 IP 地址
  • -out server.csr: 指定生成的證書(shū)簽署請(qǐng)求文件的輸出路徑和文件名,這里為 server.csr

三、使用CA根證書(shū)簽名SSL證書(shū)

openssl x509 -req -extfile <(printf "subjectAltName=IP:xx.xx.xx.xx") -days 3650 -in server.csr -CA selfca.crt -CAkey selfca.key -CAcreateserial -out server.crt
  •  openssl x509: 這是 OpenSSL 工具中用于處理 X.509 證書(shū)的命令
  • -req: 表示輸入的文件是證書(shū)簽署請(qǐng)求(CSR)
  • -extfile <(printf "subjectAltName=IP:xx.xx.xx.xx"): 使用擴(kuò)展文件,該文件包含了額外的證書(shū)擴(kuò)展信息。在這里,subjectAltName 擴(kuò)展用于指定主體的備用名稱(Subject Alternative Name),這里指定了 IP 地址 xx.xx.xx.xx。你也可以在方括號(hào)中添加其他主機(jī)名或 IP 地址,用逗號(hào)分隔
  • -days 3650:設(shè)置生成的證書(shū)的有效期為 3650 天(10 年)
  • -in server.csr:指定輸入的證書(shū)簽署請(qǐng)求文件,這里為 server.csr
  • -CA selfca.crt:指定用于簽署證書(shū)的 CA 證書(shū)文件,這里為 selfca.crt
  • -CAkey selfca.key:指定用于簽署證書(shū)的 CA 私鑰文件,這里為 selfca.key
  • -CAcreateserial:創(chuàng)建一個(gè)新的序列號(hào)文件,該文件用于跟蹤 CA 簽署的證書(shū)的唯一性
  • -out server.crt:指定生成的證書(shū)文件的輸出路徑和文件名,這里為 server.crt

四、最終的文件列表

  • selfca.key:CA私鑰,用于后續(xù)簽名SSL證書(shū)
  • selfca.crt:CA根證書(shū),用于后續(xù)簽名SSL證書(shū),需要加入到操作系統(tǒng)或?yàn)g覽器的信任列表中
  • server.key:服務(wù)器私鑰,需要配置到https服務(wù),比如Apache和Nginx配置文件中
  • server.csr:證書(shū)簽署請(qǐng)求文件,后續(xù)沒(méi)用了
  • server.crt:自簽名SSL證書(shū),需要配置到https服務(wù),比如Apache和Nginx配置文件中,這就是代表服務(wù)器的身份證件

五、查詢證書(shū)信息

openssl x509 -text -noout -in server.crt

六、nginx配置使用

user root;
worker_processes 2;
events {
    worker_connections 1024;
}
http {
    include mime.types; 
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    gzip on; 
    server_tokens off; 
    underscores_in_headers on; 
    add_header x-Content-Typе-Options nosniff; 
    reset_timedout_connection on;
    server {
        listen 443 ssl; 
        server_name localhost; 
        ssl_certificate /usr/share/nginx/ssl/server.crt;  # 生成的證書(shū)
        ssl_certificate_key /usr/share/nginx/ssl/server.key; # 生成的秘鑰
        ssl_session_cache shared:SSL:lm; 
        ssl_session_timeout 5m;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
        ssl_prefer_server_ciphers on;
        client_max_body_size 1000M;
        location / {
            root html; 
            index index.html index.htm;
        }
    }
    include servers/*;
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 5款最佳的免費(fèi)Linux殺毒軟件

    5款最佳的免費(fèi)Linux殺毒軟件

    Linux的安全性毋庸置疑。很多Linux新手都這樣認(rèn)為,但是Linux同樣也有可能遭受病毒的侵襲。這篇文章主要介紹了5款最佳的免費(fèi)Linux殺毒軟件,需要的朋友可以參考下
    2014-06-06
  • Linux命令之firewalld的用法

    Linux命令之firewalld的用法

    這篇文章主要介紹了Linux命令之firewalld的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Linux虛擬機(jī)根目錄磁盤擴(kuò)容方式

    Linux虛擬機(jī)根目錄磁盤擴(kuò)容方式

    VMware虛擬機(jī)擴(kuò)展磁盤空間并進(jìn)行邏輯卷管理的步驟,包括關(guān)閉虛擬機(jī)、擴(kuò)展磁盤大小、啟動(dòng)虛擬機(jī)、查看磁盤使用情況、創(chuàng)建磁盤分區(qū)、初始化為物理卷、加入邏輯卷組、擴(kuò)展卷組容量、查看根目錄文件系統(tǒng)、擴(kuò)容根目錄文件系統(tǒng)以及驗(yàn)證擴(kuò)容后的磁盤容量
    2024-12-12
  • Linux curl表單登錄或提交與cookie使用詳解

    Linux curl表單登錄或提交與cookie使用詳解

    這篇文章主要給大家介紹了關(guān)于Linux curl表單登錄或提交與cookie使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux系統(tǒng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • ubuntu16.04自動(dòng)設(shè)置行號(hào)的步驟詳解

    ubuntu16.04自動(dòng)設(shè)置行號(hào)的步驟詳解

    這篇文章主要介紹了ubuntu16.04自動(dòng)設(shè)置行號(hào)的步驟,文中給大家提到了Ubuntu vi設(shè)置行號(hào)的方法,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-08-08
  • Linux實(shí)現(xiàn)DHCP服務(wù)器的搭建

    Linux實(shí)現(xiàn)DHCP服務(wù)器的搭建

    Linux常見(jiàn)的服務(wù)器有幾種,本文詳細(xì)介紹了Linux實(shí)現(xiàn)DHCP服務(wù)器的搭建,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 在Apache服務(wù)器上利用Varnish優(yōu)化移動(dòng)端訪問(wèn)的方法

    在Apache服務(wù)器上利用Varnish優(yōu)化移動(dòng)端訪問(wèn)的方法

    這篇文章主要介紹了在Apach服務(wù)器上利用Varnish優(yōu)化移動(dòng)端訪問(wèn)的方法,包括清除緩存等常用操作的介紹,需要的朋友可以參考下
    2015-06-06
  • Linux內(nèi)存管理和尋址詳細(xì)介紹

    Linux內(nèi)存管理和尋址詳細(xì)介紹

    大家好,本篇文章主要講的是Linux內(nèi)存管理和尋址詳細(xì)介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • CentOS上使用Docker部署OpenClaw的全過(guò)程

    CentOS上使用Docker部署OpenClaw的全過(guò)程

    這篇文章主要介紹了在阿里云上部署OpenClaw并接入阿里云百煉模型的過(guò)程,詳細(xì)記錄了環(huán)境準(zhǔn)備、部署步驟、訪問(wèn)與使用方法,以及常見(jiàn)問(wèn)題解決方法,需要的朋友可以參考下
    2026-04-04
  • 在Linux中為現(xiàn)有用戶創(chuàng)建主目錄:useradd問(wèn)題

    在Linux中為現(xiàn)有用戶創(chuàng)建主目錄:useradd問(wèn)題

    這篇文章主要介紹了在Linux中為現(xiàn)有用戶創(chuàng)建主目錄:useradd問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04

最新評(píng)論

康乐县| 阳高县| 华容县| 桂平市| 汝城县| 扬中市| 家居| 余庆县| 桓台县| 醴陵市| 突泉县| 桑植县| 剑河县| 彭阳县| 奇台县| 盱眙县| 雷州市| 伊金霍洛旗| 祁阳县| 宣城市| 万宁市| 佳木斯市| 共和县| 肥城市| 青铜峡市| 瓮安县| 漠河县| 巨鹿县| 平塘县| 闸北区| 丰都县| 文成县| 北流市| 虹口区| 无棣县| 八宿县| 桃江县| 木里| 登封市| 德阳市| 会东县|