亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于Nginx的雙向認(rèn)證方法及裝置與流程

文檔序號(hào):11842951閱讀:249來(lái)源:國(guó)知局
一種基于Nginx的雙向認(rèn)證方法及裝置與流程

本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種基于Nginx的雙向認(rèn)證方法及裝置。



背景技術(shù):

隨著Internet的快速發(fā)展,網(wǎng)頁(yè)應(yīng)用也在迅速增加,Nginx作為一款高性能的HTTP和反向代理服務(wù)器,具有占有內(nèi)存少,并發(fā)能力強(qiáng)的特點(diǎn),被大量網(wǎng)站使用,如京東、新浪、網(wǎng)易、騰訊、淘寶等。但是,在Nginx作為反向代理tomcat實(shí)際應(yīng)用過程中,由于目前大量的使用tomcat的web服務(wù)器未使用安全套接層(Secure Sockets Layer,SSL)加密傳輸協(xié)議,導(dǎo)致Nginx與客戶端通信時(shí),傳輸數(shù)據(jù)沒有被加密,數(shù)據(jù)易被第三者惡意截獲。另外,惡意客戶端及web服務(wù)器也越來(lái)愈多,常會(huì)出現(xiàn)惡意客戶端訪問web服務(wù)器導(dǎo)致服務(wù)器性能下降或客戶端遭到惡意web攻擊。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供一種基于Nginx的雙向認(rèn)證方法及裝置,用于實(shí)現(xiàn)服務(wù)器與客戶端雙向認(rèn)證,保證數(shù)據(jù)通信、服務(wù)器和客戶端的安全性。

本發(fā)明提供一種基于Nginx的雙向認(rèn)證方法,包括:

建立證書頒發(fā)機(jī)構(gòu);

使用所述證書頒發(fā)機(jī)構(gòu),簽發(fā)服務(wù)器的證書和客戶端的證書并存儲(chǔ);

根據(jù)所述服務(wù)器的證書和客戶端的證書,配置Nginx的安全套接層SSL支持。

本發(fā)明實(shí)施例的一些有益效果可以包括:

本發(fā)明提供的基于Nginx的雙向認(rèn)證方法,在建立證書頒發(fā)機(jī)構(gòu)后,簽發(fā)服務(wù)器的證書和客戶端的證書,并根據(jù)所述服務(wù)器的證書和客戶端的證書,配置Nginx的安全套接層SSL支持,使得Nginx與客戶端通信時(shí),傳輸數(shù)據(jù)均經(jīng)過加密,不僅能夠?qū)崿F(xiàn)服務(wù)器與客戶端雙向認(rèn)證,而且能夠保證服務(wù)器和客戶端數(shù)據(jù)通信的安全性。

在一個(gè)實(shí)施例中,所述建立證書頒發(fā)機(jī)構(gòu),包括:

建立證書頒發(fā)機(jī)構(gòu)的目錄結(jié)構(gòu);

生成證書頒發(fā)機(jī)構(gòu)的證書的公鑰加密算法RSA密鑰對(duì),并存儲(chǔ)在所述證書頒發(fā)機(jī)構(gòu)的目錄中;

根據(jù)所述證書頒發(fā)機(jī)構(gòu)的證書的RSA密鑰對(duì),生成所述證書頒發(fā)機(jī)構(gòu)的證書請(qǐng)求;

對(duì)所述證書頒發(fā)機(jī)構(gòu)的證書請(qǐng)求進(jìn)行自簽名,生成所述證書頒發(fā)機(jī)構(gòu)的證書并儲(chǔ)存。

該實(shí)施例中,建立證書頒發(fā)機(jī)構(gòu)的目錄結(jié)構(gòu),并生成證書頒發(fā)機(jī)構(gòu)的證書的RSA密鑰對(duì),隨后根據(jù)證書頒發(fā)機(jī)構(gòu)的證書請(qǐng)求對(duì)CA進(jìn)行自簽名,由于CA擁有一個(gè)證書,網(wǎng)上的公眾用戶通過驗(yàn)證CA的簽字從而信任CA,任何人都可以得到CA的證書,CA在判明服務(wù)器和客戶端申請(qǐng)者的身份后,可以為其簽發(fā)證書,實(shí)現(xiàn)服務(wù)器和客戶端的雙向認(rèn)證。

在一個(gè)實(shí)施例中,所述使用所述證書頒發(fā)機(jī)構(gòu),簽發(fā)服務(wù)器的證書,包括:

生成服務(wù)器的證書的RSA密鑰對(duì)并存儲(chǔ);

根據(jù)所述服務(wù)器的證書的RSA密鑰對(duì),生成服務(wù)器的證書請(qǐng)求;

使用所述證書頒發(fā)機(jī)構(gòu),對(duì)所述服務(wù)器的證書請(qǐng)求進(jìn)行簽名,生成服務(wù)器的證書。

該實(shí)施例中,在建立證書頒發(fā)機(jī)構(gòu)后,簽發(fā)服務(wù)器的證書,則客戶端可以根據(jù)CA的公鑰對(duì)服務(wù)器證書上的簽字進(jìn)行驗(yàn)證,一旦驗(yàn)證通過,則認(rèn)為服務(wù)器是合法的,從而達(dá)到對(duì)服務(wù)器進(jìn)行認(rèn)證的目的。

在一個(gè)實(shí)施例中,所述使用所述證書頒發(fā)機(jī)構(gòu),簽發(fā)客戶端的證書,包括:

生成客戶端的證書的RSA密鑰對(duì);

根據(jù)所述客戶端的證書的RSA密鑰對(duì),生成客戶端的證書請(qǐng)求;

使用所述證書頒發(fā)機(jī)構(gòu),對(duì)所述客戶端的證書請(qǐng)求進(jìn)行簽名,生成客戶端的證書。

該實(shí)施例中,在建立證書頒發(fā)機(jī)構(gòu)后,簽發(fā)客戶端的證書,則服務(wù)器可以根據(jù)CA的公鑰對(duì)客戶端證書上的簽字進(jìn)行驗(yàn)證,一旦驗(yàn)證通過,則認(rèn)為客戶端是合法的,從而達(dá)到對(duì)客戶端進(jìn)行認(rèn)證的目的。

在一個(gè)實(shí)施例中,所述根據(jù)所述服務(wù)器的證書和客戶端的證書,配置Nginx的SSL支持,包括:

將Nginx配置文件中的ssl_certificate屬性設(shè)置為所述服務(wù)器的證書,將ssl_client_certificate屬性設(shè)置為所述客戶端的證書,將ssl_certificate_key屬性設(shè)置為所述服務(wù)器的證書的RSA密鑰對(duì)。

該實(shí)施例中,通過配置Nginx的安全套接層SSL支持,使得Nginx與客戶端通信時(shí),傳輸數(shù)據(jù)均經(jīng)過加密,保證數(shù)據(jù)通信、服務(wù)器和客戶端的安全性。

本發(fā)明提供一種基于Nginx的雙向認(rèn)證裝置,包括:

創(chuàng)建模塊,用于建立證書頒發(fā)機(jī)構(gòu);

簽發(fā)模塊,用于使用所述創(chuàng)建模塊建立的證書頒發(fā)機(jī)構(gòu),簽發(fā)服務(wù)器的證書和客戶端的證書并存儲(chǔ);

配置模塊,用于根據(jù)所述簽發(fā)模塊簽發(fā)的服務(wù)器的證書和客戶端的證書,配置Nginx的安全套接層SSL支持。

在一個(gè)實(shí)施例中,所述創(chuàng)建模塊包括:

目錄創(chuàng)建子模塊,用于建立證書頒發(fā)機(jī)構(gòu)的目錄結(jié)構(gòu);

第一密鑰對(duì)生成子模塊,用于生成證書頒發(fā)機(jī)構(gòu)的證書的公鑰加密算法RSA密鑰對(duì),并存儲(chǔ)在所述目錄創(chuàng)建子模塊建立的證書頒發(fā)機(jī)構(gòu)的目錄中;

第一請(qǐng)求子模塊,用于根據(jù)所述第一密鑰對(duì)生成子模塊生成的證書頒發(fā)機(jī)構(gòu)的證書的RSA密鑰對(duì),生成所述證書頒發(fā)機(jī)構(gòu)的證書請(qǐng)求;

第一簽名子模塊,用于對(duì)所述第一請(qǐng)求子模塊生成的證書頒發(fā)機(jī)構(gòu)的證書請(qǐng)求進(jìn)行自簽名,生成所述證書頒發(fā)機(jī)構(gòu)的證書并儲(chǔ)存。

在一個(gè)實(shí)施例中,所述簽發(fā)模塊包括:

第二密鑰對(duì)生成子模塊,用于生成服務(wù)器/客戶端的證書的RSA密鑰對(duì)并存儲(chǔ);

第二請(qǐng)求子模塊,用于根據(jù)所述第二密鑰對(duì)生成子模塊生成的服務(wù)器/客戶端的證書的RSA密鑰對(duì),生成服務(wù)器/客戶端的證書請(qǐng)求;

第二簽名子模塊,用于使用所述創(chuàng)建模塊建立的證書頒發(fā)機(jī)構(gòu),對(duì)所述第二請(qǐng)求子模塊生成的服務(wù)器/客戶端的證書請(qǐng)求進(jìn)行簽名,生成服務(wù)器/客戶端的證書并存儲(chǔ)。

在一個(gè)實(shí)施例中,所述配置模塊,具體用于將Nginx配置文件中的ssl_certificate屬性設(shè)置為所述服務(wù)器的證書,將ssl_client_certificate屬性設(shè)置為所述客戶端的證書,將ssl_certificate_key屬性設(shè)置為所述服務(wù)器的證書的RSA密鑰對(duì)。

本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。

下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。

附圖說明

附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:

圖1為本發(fā)明實(shí)施例中一種基于Nginx的雙向認(rèn)證方法的流程圖;

圖2為步驟101的實(shí)施方法流程圖;

圖3為使用所述證書頒發(fā)機(jī)構(gòu)簽發(fā)服務(wù)器的證書的流程圖;

圖4為使用所述證書頒發(fā)機(jī)構(gòu)簽發(fā)客戶端的證書的流程圖;

圖5為本發(fā)明實(shí)施例一中一種基于Nginx的雙向認(rèn)證方法的流程圖;

圖6為本發(fā)明實(shí)施例提供的一種基于Nginx的雙向認(rèn)證裝置結(jié)構(gòu)示意圖;

圖7為本發(fā)明實(shí)施例提供的另一種基于Nginx的雙向認(rèn)證裝置結(jié)構(gòu)示意圖;

圖8為本發(fā)明實(shí)施例提供的另一種基于Nginx的雙向認(rèn)證裝置結(jié)構(gòu)示意圖。

具體實(shí)施方式

以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。

圖1為本發(fā)明實(shí)施例中一種基于Nginx的雙向認(rèn)證方法的流程圖。如圖1所示,該方法包括以下步驟S101-S103:

S101:建立證書頒發(fā)機(jī)構(gòu)(Certification Authority,CA)。

其中,CA也擁有一個(gè)證書(內(nèi)含公鑰和私鑰),網(wǎng)上的公眾用戶通過驗(yàn)證CA的簽字從而信任CA,任何人都可以得到CA的證書(含公鑰),用以驗(yàn)證它所簽發(fā)的證書。另外,CA在判明服務(wù)器和客戶端申請(qǐng)者的身份后,可以為其簽發(fā)證書。

S102:使用所述證書頒發(fā)機(jī)構(gòu),簽發(fā)服務(wù)器的證書和客戶端的證書并存儲(chǔ)。

其中,如果客戶端/服務(wù)器想得到一份屬于自己的證書,可先向CA提出申請(qǐng)。在CA判明其身份后,便為他分配一個(gè)公鑰,并且CA將該公鑰與客戶端/服務(wù)器的身份信息綁在一起,并為之簽字后,便形成證書發(fā)給客戶端/服務(wù)器。

S103:根據(jù)所述服務(wù)器的證書和客戶端的證書,配置Nginx的安全套接層SSL支持。

其中,配置Nginx的安全套接層SSL支持后,如果客戶端/服務(wù)端想鑒別服務(wù)器/客戶端的真?zhèn)?,可以用CA的公鑰對(duì)對(duì)端證書上的簽字進(jìn)行驗(yàn)證,一旦驗(yàn)證通過,該證書就被認(rèn)為是有效并合法的,對(duì)應(yīng)的證書擁有者即為合法的,從而達(dá)到相互認(rèn)證的目的。

優(yōu)選地,S103包括:將Nginx配置文件中的ssl_certificate屬性設(shè)置為所述服務(wù)器的證書,將ssl_client_certificate屬性設(shè)置為所述客戶端的證書,將ssl_certificate_key屬性設(shè)置為所述服務(wù)器的證書的RSA密鑰對(duì)。

本發(fā)明實(shí)施例提供的基于Nginx的雙向認(rèn)證方法,在建立證書頒發(fā)機(jī)構(gòu)后,簽發(fā)服務(wù)器的證書和客戶端的證書,并根據(jù)所述服務(wù)器的證書和客戶端的證書,配置Nginx的安全套接層SSL支持,使得Nginx與客戶端通信時(shí),傳輸數(shù)據(jù)均經(jīng)過加密,不僅能夠?qū)崿F(xiàn)服務(wù)器與客戶端雙向認(rèn)證,而且能夠保證數(shù)據(jù)通信、服務(wù)器和客戶端的安全性。

在一個(gè)實(shí)施例中,如圖2所示,步驟S101可實(shí)施為以下步驟S201-S204:

S201:建立證書頒發(fā)機(jī)構(gòu)的目錄結(jié)構(gòu)。

例如,此步驟可以通過以下命令實(shí)現(xiàn):

#切換到openssl目錄

cd/etc/pki

#初始化

mkdir-p CA/{private,newcerts}

touch CA/index.txt

echo 01>CA/serial

S202:生成證書頒發(fā)機(jī)構(gòu)的證書的RSA密鑰對(duì),并存儲(chǔ)在所述證書頒發(fā)機(jī)構(gòu)的目錄中。

此步驟中,需生成CA證書的RSA密鑰對(duì),并放在private目錄下,實(shí)現(xiàn)命令可以如下:

openssl genrsa-des3-out CA/private/cakey.pem 2048

其中,genrsa用于生成RSA密鑰對(duì)的openSSL命令;-des3表示使用3-DES對(duì)稱加密算法加密密鑰對(duì);-out CA/private/cakey.pem表示將生成的RSA密鑰對(duì)cakey.pem保存在CA/private/目錄中;2048表示RSA模數(shù)位數(shù),在一定程度上表征了密鑰強(qiáng)度。

S203:根據(jù)所述證書頒發(fā)機(jī)構(gòu)的證書的RSA密鑰對(duì),生成所述證書頒發(fā)機(jī)構(gòu)的證書請(qǐng)求。

此步驟中,需生成CA證書的證書請(qǐng)求,實(shí)現(xiàn)命令可以如下:

openssl req-new-inform PEM-outform PEM-days 3650-key CA/private/cakey.pem-out careq.pem

其中,req用于生成證書請(qǐng)求的openSSL命令;-new生成一個(gè)新的證書請(qǐng)求;-days 3650表示從生成之時(shí)算起,證書時(shí)效為3650天;-key CA/private/cakey.pem指定CA/private/cakey.pem為證書所使用的密鑰對(duì)文件;-out careq.pem令生成的證書請(qǐng)求保存到文件careq.pem中。

S204:對(duì)所述證書頒發(fā)機(jī)構(gòu)的證書請(qǐng)求進(jìn)行自簽名,生成所述證書頒發(fā)機(jī)構(gòu)的證書并儲(chǔ)存。

此步驟中,需對(duì)證書請(qǐng)求自簽名,生成CA證書并放在CA目錄下,實(shí)現(xiàn)命令可以如下:

openssl ca-selfsign-keyform PEM-in careq.pem-out CA/cacert.pem

其中,ca用于執(zhí)行CA相關(guān)操作的openSSL命令;-selfsign使用對(duì)證書請(qǐng)求進(jìn)行簽名的密鑰對(duì)簽發(fā)證書;-in careq.pem指定careq.pem為證書請(qǐng)求文件;-out CA/cacert.pem,指定將生成的CA證書cacert.pem保存在CA目錄中。

在一個(gè)實(shí)施例中,如圖3所示,步驟S102中使用所述證書頒發(fā)機(jī)構(gòu),簽發(fā)服務(wù)器的證書的具體實(shí)施方法可以包括如下步驟S301-S303:

S301:生成服務(wù)器的證書的RSA密鑰對(duì)并存儲(chǔ);

S302:根據(jù)所述服務(wù)器的證書的RSA密鑰對(duì),生成服務(wù)器的證書請(qǐng)求;

S303:使用所述證書頒發(fā)機(jī)構(gòu),對(duì)所述服務(wù)器的證書請(qǐng)求進(jìn)行簽名,生成服務(wù)器的證書。

例如,可以通過以下命令來(lái)實(shí)現(xiàn)圖3所示的方法:

#生成服務(wù)器的RSA密鑰對(duì)

Openssl genrsa-des3-out serverkey.pem

#生成服務(wù)器證書請(qǐng)求

opensslreq-new-inform PEM-outform PEM-days 3650-key serverkey.pem-out serverreq.pem

#使用CA簽發(fā)服務(wù)器證書

opensslca-keyform PEM-in serverreq.pem-out servercert.pem

本發(fā)明實(shí)施例提供的基于Nginx的雙向認(rèn)證方法,在建立證書頒發(fā)機(jī)構(gòu)后,簽發(fā)服務(wù)器的證書,則客戶端可以根據(jù)CA的公鑰對(duì)服務(wù)器證書上的簽字進(jìn)行驗(yàn)證,一旦驗(yàn)證通過,則認(rèn)為服務(wù)器是合法的,從而達(dá)到對(duì)服務(wù)器進(jìn)行認(rèn)證的目的。

在一個(gè)實(shí)施例中,如圖4所示,步驟S102中使用所述證書頒發(fā)機(jī)構(gòu),簽發(fā)客戶端的證書的具體方法可以包括如下步驟S401-S403:

S401:生成客戶端的證書的RSA密鑰對(duì);

S402:根據(jù)所述客戶端的證書的RSA密鑰對(duì),生成客戶端的證書請(qǐng)求;

S403:使用所述證書頒發(fā)機(jī)構(gòu),對(duì)所述客戶端的證書請(qǐng)求進(jìn)行簽名,生成客戶端的證書。

例如,可以通過以下命令來(lái)實(shí)現(xiàn)圖4所示的方法:

#生成用戶的RSA密鑰對(duì)

opensslgenrsa-out clientkeynopass.pem

#生成用戶證書請(qǐng)求

opensslreq-new-inform PEM-outform PEM-days 3650-key clientkeynopass.pem-out clientreq.pem

#使用CA簽發(fā)用戶證書

opensslca-keyform PEM-in clientreq.pem-out clientcert.pem

本發(fā)明實(shí)施例提供的基于Nginx的雙向認(rèn)證方法,在建立證書頒發(fā)機(jī)構(gòu)后,簽發(fā)客戶端的證書,則服務(wù)器可以根據(jù)CA的公鑰對(duì)客戶端證書上的簽字進(jìn)行驗(yàn)證,一旦驗(yàn)證通過,則認(rèn)為客戶端是合法的,從而達(dá)到對(duì)客戶端進(jìn)行認(rèn)證的目的。

下面通過具體實(shí)施例來(lái)說明本發(fā)明實(shí)施例提供的基于Nginx的雙向認(rèn)證方法。

實(shí)施例一

圖5為本發(fā)明實(shí)施例一中一種基于Nginx的雙向認(rèn)證方法的流程圖。如圖5所示,包括以下步驟S501-S508:

S501:建立證書頒發(fā)機(jī)構(gòu)的目錄結(jié)構(gòu);

S502:生成證書頒發(fā)機(jī)構(gòu)的證書的RSA密鑰對(duì),并存儲(chǔ)在所述證書頒發(fā)機(jī)構(gòu)的目錄中;

S503:根據(jù)所述證書頒發(fā)機(jī)構(gòu)的證書的RSA密鑰對(duì),生成所述證書頒發(fā)機(jī)構(gòu)的證書請(qǐng)求;

S504:對(duì)所述證書頒發(fā)機(jī)構(gòu)的證書請(qǐng)求進(jìn)行自簽名,生成所述證書頒發(fā)機(jī)構(gòu)的證書并儲(chǔ)存;

S505:生成服務(wù)器/客戶端的證書的RSA密鑰對(duì)并存儲(chǔ);

S506:根據(jù)服務(wù)器/客戶端的證書的RSA密鑰對(duì),生成服務(wù)器/客戶端的證書請(qǐng)求;

S507:使用所述證書頒發(fā)機(jī)構(gòu),對(duì)所述服務(wù)器/客戶端的證書請(qǐng)求進(jìn)行簽名,生成服務(wù)器/客戶端的證書并存儲(chǔ);

S508:根據(jù)所述服務(wù)器的證書和客戶端的證書,配置Nginx的SSL支持。

其中,在nginx代理tomcat實(shí)現(xiàn)雙向https加密的情況下,可將nginx的配置文件配置如下:

在tomcat代碼里獲取到項(xiàng)目路徑:

<Valve className="org.apache.catalina.valves.RemoteIpValve"protocolHeader="X-Forwarded-Proto"protocolHeaderHttpsValue="https"remoteIpHeader="X-Forwarded-For"/>

啟動(dòng)tomcat和nginx,訪問XXXXX(域名),自動(dòng)跳轉(zhuǎn)為https,并訪問了tomcat項(xiàng)目的首頁(yè)。

對(duì)應(yīng)于上述實(shí)施例提供的一種基于Nginx的雙向認(rèn)證方法,本發(fā)明實(shí)施例還提供一種基于Nginx的雙向認(rèn)證裝置,如圖6所示,包括:

創(chuàng)建模塊11,用于建立證書頒發(fā)機(jī)構(gòu);

簽發(fā)模塊12,用于使用創(chuàng)建模塊11建立的證書頒發(fā)機(jī)構(gòu),簽發(fā)服務(wù)器的證書和客戶端的證書并存儲(chǔ);

配置模塊13,用于根據(jù)簽發(fā)模塊12簽發(fā)的服務(wù)器的證書和客戶端的證書,配置Nginx的安全套接層SSL支持。

圖6所示裝置,可以用于執(zhí)行圖1所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。

圖7為本發(fā)明實(shí)施例提供的另一種基于Nginx的雙向認(rèn)證裝置示意圖,如圖7所示,本實(shí)施例的裝置在圖6所示系統(tǒng)的基礎(chǔ)上,進(jìn)一步的,創(chuàng)建模塊11可包括:

目錄創(chuàng)建子模塊111,用于建立證書頒發(fā)機(jī)構(gòu)的目錄結(jié)構(gòu);

第一密鑰對(duì)生成子模塊112,用于生成證書頒發(fā)機(jī)構(gòu)的證書的公鑰加密算法RSA密鑰對(duì),并存儲(chǔ)在目錄創(chuàng)建子模塊111建立的證書頒發(fā)機(jī)構(gòu)的目錄中;

第一請(qǐng)求子模塊113,用于根據(jù)第一密鑰對(duì)生成子模塊112生成的證書頒發(fā)機(jī)構(gòu)的證書的RSA密鑰對(duì),生成所述證書頒發(fā)機(jī)構(gòu)的證書請(qǐng)求;

第一簽名子模塊114,用于對(duì)第一請(qǐng)求子模塊113生成的證書頒發(fā)機(jī)構(gòu)的證書請(qǐng)求進(jìn)行自簽名,生成所述證書頒發(fā)機(jī)構(gòu)的證書并儲(chǔ)存。

圖7所示裝置,可以用于執(zhí)行圖2所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。

圖8為本發(fā)明實(shí)施例提供的另一種基于Nginx的雙向認(rèn)證裝置示意圖,如圖8所示,本實(shí)施例的裝置在圖6所示系統(tǒng)的基礎(chǔ)上,進(jìn)一步的,簽發(fā)模塊12可包括:

第二密鑰對(duì)生成子模塊121,用于生成服務(wù)器/客戶端的證書的RSA密鑰對(duì)并存儲(chǔ);

第二請(qǐng)求子模塊122,用于根據(jù)第二密鑰對(duì)生成子模塊121生成的服務(wù)器/客戶端的證書的RSA密鑰對(duì),生成服務(wù)器/客戶端的證書請(qǐng)求;

第二簽名子模塊123,用于使用創(chuàng)建模塊11建立的證書頒發(fā)機(jī)構(gòu),對(duì)第二請(qǐng)求子模塊122生成的服務(wù)器/客戶端的證書請(qǐng)求進(jìn)行簽名,生成服務(wù)器/客戶端的證書并存儲(chǔ)。

圖7所示裝置,可以用于執(zhí)行圖3或圖4所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。

在另一個(gè)實(shí)施例中,配置模塊13,具體用于將Nginx配置文件中的ssl_certificate屬性設(shè)置為所述服務(wù)器的證書,將ssl_client_certificate屬性設(shè)置為所述客戶端的證書,將ssl_certificate_key屬性設(shè)置為所述服務(wù)器的證書的RSA密鑰對(duì)。

本發(fā)明提供的基于Nginx的雙向認(rèn)證裝置,建立證書頒發(fā)機(jī)構(gòu),采用所述證書頒發(fā)機(jī)構(gòu)簽發(fā)服務(wù)器的證書和客戶端的證書,能夠?qū)崿F(xiàn)服務(wù)器與客戶端雙向認(rèn)證,此外,該裝置根據(jù)所述服務(wù)器的證書和客戶端的證書,配置Nginx的安全套接層SSL支持,使得Nginx與客戶端通信時(shí),傳輸數(shù)據(jù)均經(jīng)過加密,能夠保證數(shù)據(jù)通信、服務(wù)器和客戶端的安全性。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1