国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java - 數(shù)字簽名與數(shù)字證書(shū)

這篇具有很好參考價(jià)值的文章主要介紹了Java - 數(shù)字簽名與數(shù)字證書(shū)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Java - 數(shù)字簽名與數(shù)字證書(shū),【Java - Java Base】,數(shù)字簽名,數(shù)字證書(shū)

概述

SSL是一種安全協(xié)議,用于在網(wǎng)絡(luò)傳輸中提供數(shù)據(jù)加密、身份驗(yàn)證和完整性保護(hù)。它基于傳輸層協(xié)議(如TCP),并為其提供加密和安全功能。

  1. 對(duì)稱加密和非對(duì)稱加密

    • 對(duì)稱加密:使用相同的密鑰進(jìn)行加密和解密。
    • 非對(duì)稱加密:使用兩個(gè)密鑰:公鑰用于加密,私鑰用于解密。
  2. 數(shù)字簽名:用于驗(yàn)證數(shù)據(jù)的完整性和身份驗(yàn)證。發(fā)送方使用私鑰對(duì)數(shù)據(jù)簽名,接收方使用公鑰驗(yàn)證簽名。

  3. 數(shù)字證書(shū):由可信第三方頒發(fā)的電子文檔,其中包含有關(guān)個(gè)人或組織的身份信息以及公鑰。

  4. SSL協(xié)議:基于這些工具和概念,SSL協(xié)議提供了以下幾個(gè)關(guān)鍵功能:

    • 數(shù)據(jù)加密:通過(guò)使用非對(duì)稱加密算法(如RSA或Diffie-Hellman),為傳輸?shù)臄?shù)據(jù)提供端到端加密。
    • 身份驗(yàn)證:服務(wù)器向客戶端證明其身份,通常通過(guò)使用數(shù)字證書(shū)。
    • 密鑰交換:協(xié)商一個(gè)共享的加密密鑰,用于對(duì)稱加密算法(如AES)。
    • 數(shù)據(jù)完整性:通過(guò)使用消息認(rèn)證碼(MAC),確保數(shù)據(jù)在傳輸過(guò)程中沒(méi)有被篡改。
  5. 應(yīng)用場(chǎng)景: SSL在網(wǎng)絡(luò)交易、銀行、電子郵件和許多其他需要保護(hù)敏感信息的場(chǎng)景中廣泛使用。

  6. 替代品:由于SSL的某些安全問(wèn)題,其后續(xù)版本TLS(傳輸層安全)已成為其替代品。TLS被認(rèn)為是更安全和更現(xiàn)代的協(xié)議。

要充分利用SSL/TLS提供的保護(hù),需要正確配置和管理服務(wù)器和客戶端。此外,定期更新和檢查證書(shū)也是非常重要的,以確保安全性和有效性。


在了解ssl之前,先要了解對(duì)稱加密、非對(duì)稱加密、數(shù)字簽名、數(shù)字證書(shū)。因?yàn)閟sl是基于這些構(gòu)建出來(lái)的。

對(duì)稱加密

  • 對(duì)稱加密只有一把密鑰,明文用這把密鑰加密后可以轉(zhuǎn)化為密文,密文再用同一把鑰匙解密。就像家里門(mén)鎖,只能有一把鑰匙打開(kāi)或者鎖上。當(dāng)然可以拿這把鑰匙去配多把一樣的給多個(gè)人用,這樣拿到這個(gè)鑰匙的人都能對(duì)門(mén)進(jìn)行鎖上和打開(kāi)操作。

  • 常用的對(duì)稱加密算法有DES、3DES、AES等。

  • 對(duì)稱加密的優(yōu)點(diǎn)是加密速度快,適合對(duì)大量信息進(jìn)行加密,缺點(diǎn)是密鑰一旦丟失將導(dǎo)致密文泄漏。


非對(duì)稱加密

非對(duì)稱加密有兩把鑰匙對(duì),A和B,用A加密只能用B解密,用B加密也只能用A解密。有一把鑰匙可以公開(kāi)出去,另一把鑰匙自己留著,公開(kāi)出去的叫公鑰,自己留著的鑰匙叫私鑰。

比如A鑰匙自己留著,鑰匙A叫私鑰,B鑰匙公開(kāi)出去則叫公鑰。公鑰可以復(fù)制多把給很多人用。

Java - 數(shù)字簽名與數(shù)字證書(shū),【Java - Java Base】,數(shù)字簽名,數(shù)字證書(shū)

使用兩把密鑰:公鑰和私鑰。公鑰用于加密,而私鑰用于解密。這種方法的優(yōu)點(diǎn)在于,即使公鑰被泄露,只要私鑰保持安全,信息仍然是安全的。因此,非對(duì)稱加密在密鑰管理上更為安全。然而,它的缺點(diǎn)是加密速度慢,不適合對(duì)大量信息進(jìn)行加密。

常用的非對(duì)稱加密算法有RSA、ECC等。

在實(shí)際應(yīng)用中,通常會(huì)將對(duì)稱加密和非對(duì)稱加密結(jié)合使用,以提高安全性和效率。例如,可以使用非對(duì)稱加密來(lái)安全地交換對(duì)稱加密的密鑰,然后使用對(duì)稱加密來(lái)加密實(shí)際的數(shù)據(jù)。這樣既可以利用對(duì)稱加密的高速性,又可以保證密鑰交換的安全性。


數(shù)字簽名

數(shù)字簽名是一種電子簽名,通常用于驗(yàn)證消息的真實(shí)性和完整性。它是一種數(shù)學(xué)算法,利用公鑰加密領(lǐng)域的技術(shù)實(shí)現(xiàn)。數(shù)字簽名創(chuàng)建個(gè)人或?qū)嶓w獨(dú)有的虛擬指紋,用于識(shí)別用戶并保護(hù)數(shù)字消息或文檔中的信息。

在數(shù)字簽名的過(guò)程中,發(fā)送方會(huì)用一個(gè)哈希函數(shù)從報(bào)文文本中生成報(bào)文摘要,然后用自己的私人密鑰對(duì)這個(gè)摘要進(jìn)行加密。這個(gè)加密后的摘要將作為報(bào)文的數(shù)字簽名和報(bào)文一起發(fā)送給接收方。接收方首先用與發(fā)送方一樣的哈希函數(shù)從接收到的原始報(bào)文中計(jì)算出報(bào)文摘要,再用發(fā)送方的公用密鑰來(lái)對(duì)報(bào)文附加的數(shù)字簽名進(jìn)行解密。如果這兩個(gè)摘要相同,接收方就能確認(rèn)該數(shù)字簽名是發(fā)送方的,從而驗(yàn)證消息的真實(shí)性和完整性。

數(shù)字簽名是非對(duì)稱密鑰加密技術(shù)與數(shù)字摘要技術(shù)的應(yīng)用,通常用于電子郵件、信用卡交易或數(shù)字文檔等場(chǎng)景。它比其他形式的電子簽名更安全,因?yàn)橹挥行畔⒌陌l(fā)送者才能產(chǎn)生別人無(wú)法偽造的一段數(shù)字串,這個(gè)數(shù)字串同時(shí)也是對(duì)信息的發(fā)送者發(fā)送信息真實(shí)性的一個(gè)有效證明。

Java - 數(shù)字簽名與數(shù)字證書(shū),【Java - Java Base】,數(shù)字簽名,數(shù)字證書(shū)

舉個(gè)例子:

張三要求李四給他寫(xiě)一封加密信,打算用非對(duì)稱加密方法。張三自己先生成一對(duì)密鑰A和B,A作為私鑰留給自己,B作為公鑰給了李四。李四收到李四的公鑰后就開(kāi)始寫(xiě)信,并用李四給的公鑰B對(duì)信進(jìn)行加密。李四把寫(xiě)好的信郵遞給了張三,張三用自己的私鑰解開(kāi)信件。

Java - 數(shù)字簽名與數(shù)字證書(shū),【Java - Java Base】,數(shù)字簽名,數(shù)字證書(shū)

張三收到李四的信后會(huì)有兩個(gè)疑問(wèn):

  • 1、這封信的內(nèi)容怎么證明沒(méi)有被篡改過(guò)?

  • 2、怎么證明這個(gè)信是李四寫(xiě)的,難道不是別人冒充的?

要解決這兩個(gè)問(wèn)題就要用到數(shù)字簽名技術(shù)了。

主要步驟如下:

李四:

  • 1、李四生成一對(duì)密鑰C和D,C作為私鑰留給自己,D作為公鑰給張三

  • 2、李四寫(xiě)完信后對(duì)信的內(nèi)容用Hash函數(shù)對(duì)信生成一段摘要,把這段摘要用私鑰C加密后付在信的后面一起發(fā)給張三。

Java - 數(shù)字簽名與數(shù)字證書(shū),【Java - Java Base】,數(shù)字簽名,數(shù)字證書(shū)

張三:

  • 1、收到信后先用自己的私鑰把信解出來(lái),并用hash生成摘要

  • 2、用李四的公鑰把摘要密文解出來(lái),跟自己生成的摘要進(jìn)行對(duì)比,如果一致則說(shuō)明信沒(méi)有被篡改過(guò),而且可以肯定這封信就是李四寫(xiě)的。

由此可見(jiàn),數(shù)字簽名是利用信息摘要和非對(duì)稱加密證明信息的完整性(沒(méi)被篡改)和信息發(fā)送方的身份的一種技術(shù)。


數(shù)字證書(shū)

數(shù)字證書(shū)是一種用于驗(yàn)證網(wǎng)絡(luò)通信中各方身份信息的電子文檔,也稱為數(shù)字標(biāo)識(shí)。它是由權(quán)威的第三方機(jī)構(gòu)(CA)頒發(fā)的,通常采用國(guó)際標(biāo)準(zhǔn)X.509格式。數(shù)字證書(shū)中包含了一系列關(guān)于證書(shū)所有人的信息,如姓名、公鑰、有效期等,以及CA的簽名。

數(shù)字證書(shū)基于密碼學(xué)原理,利用數(shù)字簽名、加密、解密等技術(shù),在Internet上建立起有效的信任機(jī)制。其主要功能包括:在網(wǎng)絡(luò)通信中標(biāo)識(shí)通訊各方身份信息;對(duì)網(wǎng)絡(luò)用戶在計(jì)算機(jī)網(wǎng)絡(luò)交流中的信息和數(shù)據(jù)進(jìn)行加密或解密,保證信息和數(shù)據(jù)的完整性和安全性。

數(shù)字證書(shū)的格式遵循ITUTX.509國(guó)際標(biāo)準(zhǔn),包含證書(shū)版本信息、序列號(hào)、簽名算法、發(fā)行機(jī)構(gòu)名稱、有效期、證書(shū)所有人名稱、公開(kāi)密鑰等信息。用戶在瀏覽網(wǎng)絡(luò)數(shù)據(jù)信息或進(jìn)行網(wǎng)上交易時(shí),可以利用數(shù)字證書(shū)保障信息傳輸及交易的安全性。

數(shù)字證書(shū)是目前國(guó)際上最成熟并得到廣泛應(yīng)用的信息安全技術(shù)之一。通過(guò)數(shù)字證書(shū),可以在網(wǎng)絡(luò)上建立起可信的虛擬世界,保障網(wǎng)絡(luò)通信的安全性。


繼續(xù)上面的案例 :

王五想冒充李四給張三寫(xiě)封信,他偷偷拿了張三的電腦,把里面李四的公鑰D換成他自己的,然后用自己的私鑰對(duì)信件摘要加密,用張三的公鑰B對(duì)信件內(nèi)容加密。把這封冒牌信發(fā)給張三。

怎么解決這種偷梁換柱的問(wèn)題呢?張三只要證明李四給的公鑰就是李四本人的就行。張三要求李四拿他的公鑰去公證處做一下公證,然后將公鑰以數(shù)字證書(shū)的形式發(fā)給張三。


根證書(shū)

根證書(shū)是數(shù)字證書(shū)的一種,也稱為根CA證書(shū)或根CA證書(shū)頒發(fā)機(jī)構(gòu)。根證書(shū)是數(shù)字證書(shū)體系的基礎(chǔ),它是全球數(shù)字證書(shū)體系的層次。根證書(shū)的作用是驗(yàn)證其他數(shù)字證書(shū)的真?zhèn)危瑥亩_保安全通信的可靠性。

根證書(shū)由全球的數(shù)字證書(shū)頒發(fā)機(jī)構(gòu)(CA)發(fā)行,例如Symantec、DigiCert、Comodo等。數(shù)字證書(shū)頒發(fā)機(jī)構(gòu)通過(guò)簽名和驗(yàn)證數(shù)字證書(shū),為網(wǎng)絡(luò)通信提供了一定的安全保障。數(shù)字證書(shū)頒發(fā)機(jī)構(gòu)頒發(fā)的證書(shū),都被數(shù)字簽名,并被公鑰體系結(jié)構(gòu)加密,以確保其完整性和真實(shí)性。

根證書(shū)的作用是建立信任鏈,確保用戶與網(wǎng)站或服務(wù)之間的通信是安全和可信的。當(dāng)用戶訪問(wèn)一個(gè)使用SSL/TLS協(xié)議的網(wǎng)站時(shí),瀏覽器會(huì)查看該網(wǎng)站的證書(shū)是否由受信任的根證書(shū)頒發(fā)機(jī)構(gòu)簽名。如果該網(wǎng)站的證書(shū)是由受信任的根證書(shū)頒發(fā)機(jī)構(gòu)簽名,那么瀏覽器就會(huì)認(rèn)為該網(wǎng)站是安全的,并允許用戶與該網(wǎng)站進(jìn)行加密通信。

根證書(shū)的安裝意味著對(duì)這個(gè)CA認(rèn)證中心的信任。從技術(shù)上講,數(shù)字證書(shū)其實(shí)包含三部分,用戶的信息、用戶的公鑰、還有CA中心對(duì)該證書(shū)里面的信息的簽名。也就是說(shuō),用戶在使用自己的數(shù)字證書(shū)之前必須先下載根證書(shū)。


繼續(xù)上面的故事:

CA認(rèn)證中心是第三方權(quán)威的認(rèn)證機(jī)構(gòu),李四將自己的信息和公鑰提交給CA機(jī)構(gòu),CA機(jī)構(gòu)再三確認(rèn)李四信息無(wú)誤后會(huì)給李四提交的文件“蓋個(gè)章”,表示這是經(jīng)過(guò)權(quán)威就夠認(rèn)證無(wú)誤的。


使用openssl模擬CA生成根證書(shū)

生成非對(duì)稱加密的私鑰,下面這個(gè)命令將生成私鑰ca.pem,公鑰可以有該私鑰產(chǎn)生。

openssl genrsa -out ca.pem 2048
  1. openssl: 這是 OpenSSL 命令行工具的調(diào)用命令,用于執(zhí)行各種與 SSL/TLS 和加密相關(guān)的操作。
  2. genrsa: 這是 OpenSSL 命令的一個(gè)子命令,用于生成 RSA 私鑰。
  3. -out ca.pem: 這個(gè)參數(shù)指定生成的私鑰應(yīng)該保存到名為 “ca.pem” 的文件中。
  4. 2048: 這個(gè)參數(shù)指定生成的 RSA 私鑰的大小,單位是比特。在這種情況下,它是 2048 位。2048 位是一個(gè)常用的密鑰大小,因?yàn)樗峁┝肆己玫陌踩?,同時(shí)保持了相對(duì)快的性能。

或者

openssl genrsa -des3 -out ca.pem 2048

這個(gè)命令是使用 OpenSSL 來(lái)生成一個(gè) RSA 私鑰。讓我們逐個(gè)解釋命令中的參數(shù):

  1. openssl: 這是 OpenSSL 命令行工具的調(diào)用命令,用于執(zhí)行各種與 SSL/TLS 和加密相關(guān)的操作。
  2. genrsa: 這是 OpenSSL 命令的一個(gè)子命令,用于生成 RSA 私鑰。
  3. -des3: 這個(gè)參數(shù)指示 OpenSSL 使用 3DES 加密算法來(lái)保護(hù)生成的私鑰。當(dāng)你存儲(chǔ)或傳輸這個(gè)私鑰時(shí),它將被 3DES 加密。
  4. -out ca.pem: 這個(gè)參數(shù)指定生成的私鑰應(yīng)該保存到名為 “ca.pem” 的文件中。
  5. 2048: 這個(gè)參數(shù)指定生成的 RSA 私鑰的大小,單位是比特。在這種情況下,它是 2048 位。2048 位是一個(gè)常用的密鑰大小,因?yàn)樗峁┝肆己玫陌踩裕瑫r(shí)保持了相對(duì)快的性能。

總之,這個(gè)命令將生成一個(gè)使用 3DES 加密的 2048 位 RSA 私鑰,并將其保存到 “ca.pem” 文件中。


生成csr文件 (證書(shū)簽名請(qǐng)求)

該文件主要有兩部分組成,一部分是描述該CA機(jī)構(gòu)的信息,另一部分是CA的公鑰。輸入這條命令后需要輸入CA機(jī)構(gòu)的信息

openssl req -new  -key ca.pem -out ca.csr

用于生成一個(gè)新的證書(shū)簽名請(qǐng)求(CSR)的命令,其中涉及到CA(證書(shū)頒發(fā)機(jī)構(gòu))的信息和公鑰。

  • openssl req: 這是OpenSSL命令行工具的一個(gè)子命令,用于處理證書(shū)簽名請(qǐng)求(CSR)和私鑰。
  • -new: 這個(gè)選項(xiàng)表示要?jiǎng)?chuàng)建一個(gè)新的CSR。
  • -key ca.pem: 這個(gè)選項(xiàng)指定了私鑰文件的路徑,該私鑰將與CSR相關(guān)聯(lián)。在這個(gè)例子中,私鑰文件是“ca.pem”。
  • -out ca.csr: 這個(gè)選項(xiàng)指定了輸出文件的路徑,生成的CSR將保存在這個(gè)文件中。在這個(gè)例子中,CSR文件將命名為“ca.csr”。

在執(zhí)行這個(gè)命令后,通常會(huì)提示輸入一些CA機(jī)構(gòu)的信息,例如國(guó)家(C)、組織(O)、組織單位(OU)和通用名(CN)。這些信息將被包含在CSR中,并且將在生成證書(shū)時(shí)使用。

Java - 數(shù)字簽名與數(shù)字證書(shū),【Java - Java Base】,數(shù)字簽名,數(shù)字證書(shū)


查看ca.csr文件

openssl req -in ca.csr -text -noout

這個(gè)命令做了以下幾件事:

  1. openssl req: 這是 OpenSSL 的一個(gè)子命令,用于處理證書(shū)簽名請(qǐng)求 (CSR)。
  2. -in ca.csr: 指定要處理的 CSR 文件名,這里是 ca.csr。
  3. -text: 這個(gè)選項(xiàng)讓 OpenSSL 顯示 CSR 的詳細(xì)信息,包括生成的隨機(jī)數(shù)、證書(shū)的主題信息等。
  4. -noout: 這個(gè)選項(xiàng)告訴 OpenSSL 在顯示 CSR 詳細(xì)信息時(shí)不將其輸出為DER格式。

執(zhí)行這個(gè)命令后,會(huì)看到有關(guān) ca.csr 的詳細(xì)信息,包括其中的內(nèi)容、主題、公鑰等信息。

[root@VM-24-3-centos ssl]# openssl req -in ca.csr -text -noout
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=CN, ST=SD, L=JN, O=ZZ, OU=YY, CN=BB
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:b2:5c:13:a3:b1:4f:77:94:f6:a0:d6:f9:64:94:
                    75:9a:7e:f7:4f:6d:58:d1:a8:cf:57:07:75:69:e5:
                    49:8a:f8:b4:5e:c4:c4:e6:25:eb:b4:49:43:80:15:
                    8d:41:ae:2a:3a:da:98:de:cf:dc:c6:73:1d:cd:f2:
                    3f:00:cf:2f:d5:da:5c:7f:ed:41:f9:1b:bc:f7:67:
                    7b:af:49:26:05:c6:d4:e4:91:e3:0d:fd:2c:36:b5:
                    94:20:37:52:ba:ce:0f:c2:24:5f:bd:0b:d7:f5:ff:
                    7c:a0:9f:80:3f:bb:6d:f0:97:ca:af:f6:5f:3c:53:
                    b0:fc:e7:41:8b:88:db:49:05:f5:6a:22:d7:4e:a3:
                    f5:a9:b7:d0:f0:e2:81:23:14:29:21:44:1b:8d:d5:
                    a5:d1:75:53:91:0f:db:25:78:c8:e2:b0:6f:9b:35:
                    c5:43:4f:29:4c:cc:ab:ee:78:0c:12:b8:6a:d1:18:
                    93:37:03:c4:c9:11:55:73:5e:29:3c:9b:d4:e7:52:
                    25:ae:38:ef:00:bb:15:41:45:30:69:a9:52:cd:25:
                    84:29:ca:31:21:58:8c:72:28:cf:97:5a:d0:d1:64:
                    08:cd:09:68:da:4f:71:46:b7:94:58:34:40:93:a6:
                    53:8c:ee:64:22:c3:ca:51:19:f0:c0:8a:8e:0e:71:
                    97:63
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: sha256WithRSAEncryption
         39:0e:6a:d1:bb:ab:49:b0:77:75:f6:c0:d1:8c:78:a5:2d:b6:
         2a:97:41:6b:b6:b0:c2:5d:c0:7c:4c:53:1d:2f:0d:28:26:02:
         b4:e5:d2:6a:ef:f9:f1:65:6e:e6:c7:be:ba:89:6f:1a:0d:f6:
         b7:70:f4:1c:68:84:31:06:b2:90:8b:d8:c8:73:10:e8:8a:08:
         79:6d:55:bf:bd:2f:94:48:eb:2f:ef:65:f9:b7:e3:da:39:23:
         a5:cf:15:a3:06:75:e6:e1:b1:d7:4c:79:28:ef:c2:23:78:3b:
         83:5b:a5:a8:f5:02:f4:18:55:43:ee:3e:a4:ab:ed:2a:a7:2a:
         ec:0e:ba:05:10:c6:ed:10:49:24:78:61:36:5c:00:5e:86:7e:
         c8:81:13:46:79:9f:df:ee:84:ed:6a:b7:70:21:f6:32:b5:7b:
         53:5e:a9:68:10:29:1b:e8:aa:16:38:d7:a6:5e:64:b3:94:a3:
         95:e2:66:7a:44:45:6f:28:1f:2d:50:87:62:19:07:40:6d:19:
         be:94:03:1f:f3:04:d2:8f:0a:a7:a3:de:5a:a9:6f:cc:8b:4c:
         55:ea:da:cf:a6:84:0a:b4:97:84:33:d8:63:27:48:3d:fe:fc:
         c7:dd:cd:b0:7d:32:9d:db:44:d2:d9:53:f3:37:22:68:38:77:
         f7:89:fe:fa
[root@VM-24-3-centos ssl]#


生成數(shù)字證書(shū)ca.crt

該證書(shū)主要是對(duì)ca.csr的摘要信息用ca.pem私鑰加密,并把加密的摘要附在后面

openssl x509 -req -in ca.csr -out ca.crt -signkey ca.pem-days 3650

這個(gè)命令是用來(lái)將一個(gè)證書(shū)簽名請(qǐng)求(CSR)轉(zhuǎn)換為一個(gè)自簽名證書(shū)(CRT)的。

具體來(lái)說(shuō),這個(gè)命令做了以下幾件事:

  1. openssl x509: 這是 OpenSSL 的一個(gè)子命令,用于處理 X.509 證書(shū)。
  2. -req: 這個(gè)選項(xiàng)表示輸入是一個(gè)證書(shū)簽名請(qǐng)求(CSR)。
  3. -in ca.csr: 指定輸入的 CSR 文件名為 ca.csr。
  4. -out ca.crt: 指定輸出的證書(shū)文件名為 ca.crt。
  5. -signkey ca.pem: 這個(gè)選項(xiàng)告訴 OpenSSL 使用 ca.pem 文件中的私鑰來(lái)簽名 CSR。
  6. -days 3650: 這個(gè)選項(xiàng)設(shè)置證書(shū)的有效期為 3650 天,即大約 10 年。

執(zhí)行這個(gè)命令后,將會(huì)生成一個(gè)名為 ca.crt 的自簽名證書(shū),該證書(shū)由 ca.pem 中的私鑰簽名,并具有 10 年的有效期。


查看ca.crt文件信息

可以使用以下命令來(lái)查看 ca.crt 文件的信息:

openssl x509 -in ca.crt -text -noout

這個(gè)命令做了以下幾件事:

  1. openssl x509: 這是 OpenSSL 的一個(gè)子命令,用于處理 X.509 證書(shū)。
  2. -in ca.crt: 指定要查看的證書(shū)文件名為 ca.crt
  3. -text: 這個(gè)選項(xiàng)讓 OpenSSL 顯示證書(shū)的詳細(xì)信息,包括證書(shū)的主題、有效期、簽名算法、發(fā)行者、所有者等信息。
  4. -noout: 這個(gè)選項(xiàng)告訴 OpenSSL 在顯示證書(shū)詳細(xì)信息時(shí)不將其輸出為DER格式。

執(zhí)行這個(gè)命令后,會(huì)看到有關(guān) ca.crt 的詳細(xì)信息,包括其中的內(nèi)容、主題、有效期、簽名算法等。

[root@VM-24-3-centos ssl]# openssl x509 -in ca.crt -text -noout
Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number:
            c9:84:dc:7c:91:7a:73:48
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=XX, L=Default City, O=Default Company Ltd
        Validity
            Not Before: Jan 24 09:41:31 2024 GMT
            Not After : Jan 21 09:41:31 2034 GMT
        Subject: C=XX, L=Default City, O=Default Company Ltd
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:b2:5c:13:a3:b1:4f:77:94:f6:a0:d6:f9:64:94:
                    75:9a:7e:f7:4f:6d:58:d1:a8:cf:57:07:75:69:e5:
                    49:8a:f8:b4:5e:c4:c4:e6:25:eb:b4:49:43:80:15:
                    8d:41:ae:2a:3a:da:98:de:cf:dc:c6:73:1d:cd:f2:
                    3f:00:cf:2f:d5:da:5c:7f:ed:41:f9:1b:bc:f7:67:
                    7b:af:49:26:05:c6:d4:e4:91:e3:0d:fd:2c:36:b5:
                    94:20:37:52:ba:ce:0f:c2:24:5f:bd:0b:d7:f5:ff:
                    7c:a0:9f:80:3f:bb:6d:f0:97:ca:af:f6:5f:3c:53:
                    b0:fc:e7:41:8b:88:db:49:05:f5:6a:22:d7:4e:a3:
                    f5:a9:b7:d0:f0:e2:81:23:14:29:21:44:1b:8d:d5:
                    a5:d1:75:53:91:0f:db:25:78:c8:e2:b0:6f:9b:35:
                    c5:43:4f:29:4c:cc:ab:ee:78:0c:12:b8:6a:d1:18:
                    93:37:03:c4:c9:11:55:73:5e:29:3c:9b:d4:e7:52:
                    25:ae:38:ef:00:bb:15:41:45:30:69:a9:52:cd:25:
                    84:29:ca:31:21:58:8c:72:28:cf:97:5a:d0:d1:64:
                    08:cd:09:68:da:4f:71:46:b7:94:58:34:40:93:a6:
                    53:8c:ee:64:22:c3:ca:51:19:f0:c0:8a:8e:0e:71:
                    97:63
                Exponent: 65537 (0x10001)
    Signature Algorithm: sha256WithRSAEncryption
         3e:36:2d:ef:dd:97:de:ff:ad:99:0d:09:46:c3:54:9a:66:0e:
         2c:b8:e9:6c:05:6b:40:59:37:e6:05:9e:af:38:7c:3e:58:ec:
         69:18:2f:66:13:e7:81:fc:7c:ef:8c:5c:7d:25:00:71:b2:ae:
         4b:7d:a7:ad:04:d9:96:2d:4b:c7:bc:26:96:4c:ba:3a:72:ca:
         4b:6e:61:8b:d8:74:eb:59:34:f9:68:0e:f3:bb:55:9f:48:f3:
         34:89:bc:79:70:d4:dc:46:43:17:55:c8:a8:2b:5f:f7:06:5c:
         be:53:06:83:6d:40:a3:29:4d:16:84:d4:86:f1:f1:5b:23:1a:
         fc:d8:fa:7f:93:fb:27:b6:10:16:5f:ab:17:5c:dd:f1:27:3a:
         a9:9d:ec:be:ba:32:2f:b5:7f:f2:22:de:8c:de:88:ab:1a:4b:
         0d:d7:5f:98:46:26:f1:44:bd:fa:9c:b3:64:f2:db:c2:53:ee:
         69:1d:aa:e2:64:1b:18:74:8b:2e:0f:10:ba:67:0d:aa:c6:f8:
         6a:0e:ab:f5:b1:21:ad:84:39:65:50:86:49:c7:61:77:12:3f:
         f5:48:07:87:83:38:9a:5b:f6:bd:29:07:66:27:f2:e5:2a:72:
         d1:01:0e:c9:43:08:da:1c:f0:c4:ae:c1:e0:99:c9:6f:6a:d9:
         48:f3:79:fa
[root@VM-24-3-centos ssl]#


小結(jié)

  • ca.pem:rsa非對(duì)稱加密私鑰,用該私鑰能推導(dǎo)出公鑰

  • ca.csr:根證書(shū)申請(qǐng)文件,該文件有申請(qǐng)者的信息和公鑰

  • ca.crt:根證書(shū),主要內(nèi)容是ca.csr+數(shù)字簽名 , ca.crt是公開(kāi)的,使用者可以下載,主要是用里面ca的公鑰。

在非對(duì)稱加密中,私鑰用于解密和簽名數(shù)據(jù),而公鑰用于加密和驗(yàn)證簽名。

  1. ca.pem: 這確實(shí)是 RSA 非對(duì)稱加密的私鑰。私鑰用于解密數(shù)據(jù)、驗(yàn)證消息的完整性和身份。它必須保持私密,不能泄露給任何未經(jīng)授權(quán)的實(shí)體。
  2. ca.csr: 這是一個(gè)證書(shū)簽名請(qǐng)求(CSR)文件,通常包含申請(qǐng)證書(shū)的實(shí)體(如網(wǎng)站或服務(wù)器)的信息,以及該實(shí)體的公鑰。CSR 文件用于向證書(shū)頒發(fā)機(jī)構(gòu)(CA)提交申請(qǐng),請(qǐng)求為其生成一個(gè)證書(shū)。
  3. ca.crt: 這是由 CA 生成的證書(shū)文件,通常包含 CSR 中的信息(如主題、有效期等)以及 CA 的簽名。這個(gè)簽名驗(yàn)證了證書(shū)的所有者和證書(shū)內(nèi)容的有效性。一旦證書(shū)被簽名并分發(fā),任何人都可以使用 CA 的公鑰來(lái)驗(yàn)證這個(gè)簽名,從而驗(yàn)證證書(shū)的有效性和真實(shí)性。由于證書(shū)是公開(kāi)的,使用者可以下載并使用其中的 CA 公鑰進(jìn)行通信和驗(yàn)證其他證書(shū)。

在實(shí)際應(yīng)用中,CA(證書(shū)頒發(fā)機(jī)構(gòu))使用其私鑰對(duì)來(lái)自各種實(shí)體(如網(wǎng)站、服務(wù)器等)的 CSR 進(jìn)行簽名,生成證書(shū)。然后,這些證書(shū)可以被安裝在客戶端或服務(wù)器上,以建立安全的通信通道。通過(guò)使用公鑰和私鑰對(duì)數(shù)據(jù)進(jìn)行加密和解密,可以確保數(shù)據(jù)在傳輸過(guò)程中的安全性和完整性。
Java - 數(shù)字簽名與數(shù)字證書(shū),【Java - Java Base】,數(shù)字簽名,數(shù)字證書(shū)


申請(qǐng)ca證書(shū)

申請(qǐng)CA證書(shū)的步驟如下:

  1. 選擇一家可信的數(shù)字證書(shū)頒發(fā)機(jī)構(gòu),如 VeriSign、GlobalSign、Comodo 或 Symantec 等。
  2. 根據(jù)需求,確定要申請(qǐng)的證書(shū)類型,如 SSL 證書(shū)、代碼簽名證書(shū)、身份驗(yàn)證證書(shū)、電子郵件證書(shū)或文檔簽名證書(shū)等。
  3. 準(zhǔn)備必要的申請(qǐng)材料,包括企業(yè)或個(gè)人證書(shū)申請(qǐng)者的信息、身份證明、證書(shū)類型和域名等。
  4. 填寫(xiě) CA 證書(shū)申請(qǐng)表,并提交給所選擇的數(shù)字證書(shū)頒發(fā)機(jī)構(gòu)。
  5. 支付 CA 證書(shū)的費(fèi)用。
  6. 等待 CA 證書(shū)頒發(fā)機(jī)構(gòu)的審核,審核通過(guò)后即可下載和安裝 CA 證書(shū)。

請(qǐng)注意,在申請(qǐng) CA 證書(shū)時(shí),務(wù)必確保提供準(zhǔn)確的個(gè)人信息和支付信息,并在公共網(wǎng)絡(luò)上進(jìn)行 CA 證書(shū)申請(qǐng)以確保個(gè)人信息和支付信息的安全。在收到 CA 證書(shū)下載鏈接后,應(yīng)盡快下載并安裝,以確保網(wǎng)絡(luò)安全。


繼續(xù)上個(gè)故事:

李四想要CA機(jī)構(gòu)申請(qǐng)自己的證書(shū)該怎么辦呢?下面用openssl模擬ca機(jī)構(gòu)來(lái)為李四簽發(fā)數(shù)字證書(shū)

1、李四先生成自己的非對(duì)稱加密密鑰LiSi.pem

openssl genrsa -out LiSi.pem 2048

2、李四生成LiSi.csr文件,需要填寫(xiě)上李四的信息

openssl req -new  -key LiSi.pem -out LiSi.csr

3、李四將該csr提交給ca中心,ca中心根據(jù)李四提交的csr進(jìn)行簽名,最后ca生成給李四的數(shù)字證書(shū)是LiSi.crt文件

openssl x509 -req -in LiSi.csr -out LiSi.crt -CA  ./ca.crt -CAkey  ./ca.pem -CAcreateserial -days 3650

上述過(guò)程描述了一個(gè)基本的流程,用于生成一個(gè)自簽名證書(shū),通常用于HTTPS服務(wù)器或客戶端的身份驗(yàn)證。

以下是詳細(xì)的步驟解釋:

  1. 生成私鑰
openssl genrsa -out LiSi.pem 2048

使用openssl genrsa命令生成一個(gè)私鑰。-out LiSi.pem指定生成的私鑰文件名為LiSi.pem。2048指定生成的密鑰長(zhǎng)度為2048位,這是一個(gè)常見(jiàn)的選擇,但也可以選擇其他長(zhǎng)度。

  1. 生成證書(shū)簽名請(qǐng)求(CSR)
openssl req -new  -key LiSi.pem -out LiSi.csr

使用openssl req命令創(chuàng)建一個(gè)新的證書(shū)簽名請(qǐng)求(CSR)。-new表示創(chuàng)建一個(gè)新的請(qǐng)求。-key LiSi.pem指定使用之前生成的私鑰文件。-out LiSi.csr指定輸出的CSR文件名為LiSi.csr。

  1. 自簽名證書(shū)
    為了從CSR生成自簽名證書(shū),實(shí)際上不需要CA中心,因?yàn)槲覀冏约壕褪荂A。但
openssl x509 -req -in LiSi.csr -out LiSi.crt -CA ../ca.crt -CAkey ../ca.pem -CAcreateserial -days 3650

使用openssl x509命令從CSR創(chuàng)建一個(gè)自簽名證書(shū)。

  • -req: 指定輸入的CSR文件。
  • -in LiSi.csr: 指定輸入的CSR文件名為LiSi.csr。
  • -out LiSi.crt: 指定輸出的證書(shū)文件名為LiSi.crt。
  • -CA ../ca.crt: 指定CA的證書(shū)文件路徑,用于驗(yàn)證您是否有權(quán)限簽名此證書(shū)。這里使用的是相對(duì)路徑指向上一級(jí)目錄中的ca.crt文件。
  • -CAkey ../ca.pem: 指定CA的私鑰文件路徑,用于創(chuàng)建序列號(hào)并簽署證書(shū)。這里使用的是相對(duì)路徑指向上一級(jí)目錄中的ca.pem文件。
  • -CAcreateserial: 創(chuàng)建一個(gè)新的序列號(hào)文件。這通常與CA一起使用,但在這里不必要,因?yàn)槲覀冎皇亲院灻?/li>
  • -days 3650: 設(shè)置證書(shū)的有效期為3650天。根據(jù)您的需要,可以更改此值。

完成上述步驟后,我們應(yīng)該有一個(gè)私鑰文件(LiSi.pem)、一個(gè)證書(shū)簽名請(qǐng)求(LiSi.csr)和一個(gè)自簽名證書(shū)(LiSi.crt)。

Java - 數(shù)字簽名與數(shù)字證書(shū),【Java - Java Base】,數(shù)字簽名,數(shù)字證書(shū)


4、 用openssl x509 -in LiSi.crt -text -noout看一下李四的數(shù)字證書(shū)

Java - 數(shù)字簽名與數(shù)字證書(shū),【Java - Java Base】,數(shù)字簽名,數(shù)字證書(shū)
可以看出,李四的數(shù)字證書(shū)中包含:版本+證書(shū)序號(hào)+ca機(jī)構(gòu)信息+證書(shū)有效期+李四個(gè)人信息+李四公鑰+ca對(duì)李四csr的數(shù)字簽名


5. 李四得到證書(shū)后可以驗(yàn)證一下證書(shū)的有效性

openssl verify -CAfile ./ca.crt  LiSi.crt

這條命令是用于驗(yàn)證一個(gè)證書(shū)是否由指定的CA(證書(shū)頒發(fā)機(jī)構(gòu))簽署。

具體來(lái)說(shuō),openssl verify -CAfile ../ca.crt LiSi.crt 的作用是:

  1. openssl verify: 這是 OpenSSL 的一個(gè)子命令,用于驗(yàn)證證書(shū)的有效性。
  2. -CAfile ../ca.crt: 這個(gè)選項(xiàng)指定了 CA 的證書(shū)文件路徑。在這里,它是相對(duì)路徑指向上一級(jí)目錄中的 ca.crt 文件。CA 的證書(shū)通常包含公鑰,用于驗(yàn)證其他證書(shū)的簽名。
  3. LiSi.crt: 這是要驗(yàn)證的證書(shū)文件名。

執(zhí)行這個(gè)命令后,如果 LiSi.crt 是由 ../ca.crt 文件中指定的CA簽署的,命令將輸出 “OK”,否則將輸出證書(shū)驗(yàn)證失敗的原因。


完整流程

Java - 數(shù)字簽名與數(shù)字證書(shū),【Java - Java Base】,數(shù)字簽名,數(shù)字證書(shū)

繼續(xù)上個(gè)故事:

李四給張三寫(xiě)加密信的完整流程

1、李四和張三都從ca機(jī)構(gòu)下載根證書(shū)

2、李四和張三都向ca機(jī)構(gòu)申請(qǐng)數(shù)字證書(shū)

3、互換數(shù)字證書(shū)并用根證書(shū)驗(yàn)證

4、李四用張三的證書(shū)中的公鑰對(duì)信加密

5、李四用私鑰對(duì)信進(jìn)行簽名

6、李四將加密的信和簽名都發(fā)給張三

7、張三收到信后先用私鑰解開(kāi)加密的信,在用李四證書(shū)中的公鑰驗(yàn)證簽名

8、簽名驗(yàn)證成功,張三可以看信了


總結(jié)

數(shù)字簽名和數(shù)字證書(shū)是信息安全領(lǐng)域的兩個(gè)重要概念,它們都涉及到信息的完整性和發(fā)送者的身份驗(yàn)證。以下是它們各自的定義和所使用的技術(shù):

  1. 數(shù)字簽名:

定義:數(shù)字簽名是一種用于驗(yàn)證信息完整性和發(fā)送者身份的方法。它使用信息摘要和非對(duì)稱加密技術(shù),確保信息的完整性和不可篡改性,同時(shí)驗(yàn)證發(fā)送者的身份。

技術(shù):數(shù)字簽名使用兩個(gè)密鑰:公鑰和私鑰。私鑰用于生成數(shù)字簽名,而公鑰用于驗(yàn)證簽名。發(fā)送者使用私鑰對(duì)信息進(jìn)行加密,生成數(shù)字簽名,并將簽名與原始信息一起發(fā)送給接收者。接收者使用公鑰對(duì)簽名進(jìn)行解密,驗(yàn)證信息的完整性和發(fā)送者的身份。

  1. 數(shù)字證書(shū):

定義:數(shù)字證書(shū)是由第三方權(quán)威機(jī)構(gòu)出具的一種證明信息可靠性的方法。它使用數(shù)字簽名技術(shù),確保證書(shū)本身和所驗(yàn)證的信息的完整性和可信度。

技術(shù):數(shù)字證書(shū)包含證書(shū)持有人的公鑰和身份信息,以及發(fā)行機(jī)構(gòu)的數(shù)字簽名。發(fā)行機(jī)構(gòu)使用自己的私鑰對(duì)證書(shū)進(jìn)行簽名,確保證書(shū)的完整性和可信度。數(shù)字證書(shū)可以用于驗(yàn)證網(wǎng)站的身份、電子郵件地址或任何其他需要證明可靠性的信息。

總之,數(shù)字簽名和數(shù)字證書(shū)都是利用信息摘要和非對(duì)稱加密技術(shù)來(lái)確保信息的完整性和可信度的方法。數(shù)字簽名主要用于驗(yàn)證發(fā)送者的身份和信息的完整性,而數(shù)字證書(shū)則由權(quán)威機(jī)構(gòu)出具,用于證明信息的可靠性。

使用OpenSSL生成證書(shū)并配置Https

Java - 數(shù)字簽名與數(shù)字證書(shū),【Java - Java Base】,數(shù)字簽名,數(shù)字證書(shū)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-821896.html

到了這里,關(guān)于Java - 數(shù)字簽名與數(shù)字證書(shū)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 安全算法(三)消息驗(yàn)證碼、數(shù)字簽名和數(shù)字證書(shū)

    安全算法(三)消息驗(yàn)證碼、數(shù)字簽名和數(shù)字證書(shū)

    主要介紹了消息驗(yàn)證碼、數(shù)字簽名和數(shù)字證書(shū)三種加密方式。 消息認(rèn)證碼 消息認(rèn)證碼可以實(shí)現(xiàn)“認(rèn)證”和“檢測(cè)篡改”這兩個(gè)功能。密文的內(nèi)容在傳輸過(guò)程中可能會(huì)被篡改,這會(huì)導(dǎo)致解密后的內(nèi)容發(fā)生變化,從而產(chǎn)生誤會(huì)。消息認(rèn)證碼就是可以預(yù)防這種情況發(fā)生的機(jī)制。 假

    2024年01月22日
    瀏覽(20)
  • Https、CA證書(shū)、數(shù)字簽名

    Https、CA證書(shū)、數(shù)字簽名

    Https Http協(xié)議 Http協(xié)議是目前應(yīng)用比較多應(yīng)用層協(xié)議,瀏覽器對(duì)于Http協(xié)議已經(jīng)實(shí)現(xiàn)。Http協(xié)議基本的構(gòu)成部分有 請(qǐng)求行 : 請(qǐng)求報(bào)文的第一行 請(qǐng)求頭 : 從第二行開(kāi)始為請(qǐng)求頭內(nèi)容的開(kāi)始部分。每一個(gè)請(qǐng)求頭都是由K-V鍵值對(duì)組成。 請(qǐng)求體: 請(qǐng)求頭完成后以空行結(jié)束、從空行開(kāi)始

    2024年02月12日
    瀏覽(20)
  • 密碼學(xué)基礎(chǔ)(三)——數(shù)字簽名與證書(shū)

    密碼學(xué)基礎(chǔ)(三)——數(shù)字簽名與證書(shū)

    數(shù)字簽名:又叫公鑰數(shù)字簽名,或者電子印章。 數(shù)字信息社會(huì)用于取代傳統(tǒng)社會(huì)手寫(xiě)簽名的一種公鑰加密領(lǐng)域的技術(shù)實(shí)現(xiàn)。 數(shù)字簽名其實(shí)就是非對(duì)稱加密的私鑰加密,公鑰解密的過(guò)程。 數(shù)字證書(shū)用來(lái)證明公鑰擁有者的身份,驗(yàn)證數(shù)據(jù)來(lái)源,驗(yàn)證數(shù)據(jù)是否被修改。 數(shù)字證書(shū)中

    2024年02月16日
    瀏覽(23)
  • 計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)之加密、數(shù)字簽名與證書(shū)

    計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)之加密、數(shù)字簽名與證書(shū)

    1.對(duì)稱加密 2.散列函數(shù) 3.非對(duì)稱加密 4.數(shù)字簽名 5.證書(shū) 2.1 對(duì)稱加密 (1)安裝 OpenSSL:登錄阿里云服務(wù)器,輸入命令:“yum install openssl openssl-devel -y”,結(jié)果如下圖所示,OpenSSL安裝成功。 圖2.1-1 安裝OpenSSL (2)創(chuàng)建lx.txt文件:輸入“vi lx.txt”命令創(chuàng)建 lx.txt 文件,并寫(xiě)入“世

    2024年02月08日
    瀏覽(19)
  • [Android Studio] Android Studio生成數(shù)字證書(shū),為應(yīng)用簽名

    [Android Studio] Android Studio生成數(shù)字證書(shū),為應(yīng)用簽名

    ??????????? Android Debug ?????????? Topic ? 發(fā)布安卓學(xué)習(xí)過(guò)程中遇到問(wèn)題解決過(guò)程,希望我的解決方案可以對(duì)小伙伴們有幫助。 ??Android Studio創(chuàng)建數(shù)字證書(shū) ??結(jié)尾 Android 系統(tǒng)要求所有 APK 必須先使用證書(shū)進(jìn)行數(shù)字簽名,然后才能安裝到設(shè)備上或進(jìn)行更新。當(dāng)準(zhǔn)備發(fā)布

    2024年02月20日
    瀏覽(28)
  • HTTPS加密原理,搞懂什么是對(duì)稱加密、非對(duì)稱加密、證書(shū)、數(shù)字簽名

    HTTPS加密原理,搞懂什么是對(duì)稱加密、非對(duì)稱加密、證書(shū)、數(shù)字簽名

    眾所周知,http協(xié)議是一種未加密的協(xié)議,我們未加密的數(shù)據(jù),在傳輸?shù)倪^(guò)程中會(huì)經(jīng)過(guò)一個(gè)又一個(gè)的物理節(jié)點(diǎn),如果被人通過(guò)抓包的方式拿到了我們的數(shù)據(jù),將會(huì)給我們?cè)斐蔁o(wú)法估量的損失。 為了解決解決這個(gè)問(wèn)題,https應(yīng)運(yùn)而生。https通過(guò)加密的手段,保障的數(shù)據(jù)的安全性。

    2024年02月01日
    瀏覽(17)
  • Java安全——數(shù)字簽名

    Java安全——數(shù)字簽名

    數(shù)字簽名 簽名類 簽名的jar文件可以通過(guò)Java的 jarsigner 工具進(jìn)行管理。 jarsigner 工具使用密鑰庫(kù)中的信息來(lái)查找特定的實(shí)體,并使用這些信息對(duì)jar文件進(jìn)行簽名或驗(yàn)證簽名。 要?jiǎng)?chuàng)建簽名的jar文件,我們可以使用以下命令: 這個(gè)命令會(huì)使用密鑰庫(kù)中的信息對(duì)xyz.jar文件進(jìn)行簽名。

    2024年02月12日
    瀏覽(23)
  • Java實(shí)現(xiàn)基于RSA的數(shù)字簽名

    Java實(shí)現(xiàn)基于RSA的數(shù)字簽名

    1、加密保證了數(shù)據(jù)接受方的數(shù)據(jù)安全性。加密的作用是防止泄密。 2、簽名保證了數(shù)據(jù)發(fā)送方的數(shù)據(jù)安全性。簽名的作用是防止篡改。 問(wèn)題:在比特幣中,怎么證明這個(gè)交易是你發(fā)布的? 這是就需要用到數(shù)字簽名,數(shù)字簽名大概可已描述為:用私鑰加密,用公鑰解密。發(fā)布

    2024年02月11日
    瀏覽(28)
  • 數(shù)字證書(shū)的相關(guān)專業(yè)名詞(中)---根證書(shū)和CRL,以及java中CRL的獲取和驗(yàn)證方法

    數(shù)字證書(shū)的相關(guān)專業(yè)名詞(中)---根證書(shū)和CRL,以及java中CRL的獲取和驗(yàn)證方法

    上篇文章我們主要了解了PKI中的數(shù)字證書(shū)和PKCS,這篇文章我們主要了解一下根證書(shū),以及OCSP和CRL。 在公鑰基礎(chǔ)設(shè)施(PKI)中,根證書(shū)是 整個(gè)數(shù)字證書(shū)體系的最高級(jí)別證書(shū) 。根證書(shū)由受信任的第三方機(jī)構(gòu)(CA)頒發(fā),用于驗(yàn)證其他證書(shū)以及建立信任鏈。 當(dāng)您收到一個(gè)數(shù)字證

    2024年02月05日
    瀏覽(15)
  • 數(shù)字證書(shū)的相關(guān)專業(yè)名詞(下)---OCSP及其java中的應(yīng)用

    數(shù)字證書(shū)的相關(guān)專業(yè)名詞(下)---OCSP及其java中的應(yīng)用

    上篇文章我們了解了根證書(shū)和校驗(yàn)證書(shū)有效性中的一個(gè)比較重要的渠道–CRL,但是CRL有著時(shí)間延遲,網(wǎng)絡(luò)帶寬消耗等缺點(diǎn),本篇文章我們了解另一種更高效也是目前被廣泛應(yīng)用的校驗(yàn)證書(shū)有效性的另一種方式–OCSP,并且我會(huì)結(jié)合java來(lái)聊聊如何獲取OCSP地址以及如何去通過(guò)獲取

    2024年02月07日
    瀏覽(41)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包