日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux和OpenSSL的關系和作用(linuxopensll)

隨著互聯(lián)網(wǎng)技術的發(fā)展和普及,網(wǎng)絡安全逐漸成為一個備受關注的問題。在網(wǎng)絡安全領域中,Linux和OpenSSL是至關重要的兩個方面。

在青縣等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網(wǎng)站制作、成都網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設 網(wǎng)站設計制作按需開發(fā)網(wǎng)站,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,品牌網(wǎng)站制作,營銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設,青縣網(wǎng)站建設費用合理。

Linux是一種開源操作系統(tǒng),由Linus Torvalds創(chuàng)造并維護。它是一個強大、安全和可靠的操作系統(tǒng),被廣泛應用于服務器端和移動設備等領域,因其開放源代碼、穩(wěn)定性強、自由度高的特點,備受各大互聯(lián)網(wǎng)企業(yè)的青睞。另外,Linux還有一個顯著的優(yōu)勢,就是其強大的網(wǎng)絡性能。由于Linux對網(wǎng)絡性能的優(yōu)化和支持,使得其成為一種理想的服務器操作系統(tǒng)。

而OpenSSL則是一種加密工具包,它提供了開發(fā)者和管理員加密和解密數(shù)據(jù)的功能。這種工具包通常被用于在網(wǎng)絡通信中確保數(shù)據(jù)的安全性和隱私。OpenSSL支持各種加密算法,例如DES、Blowfish、AES等,并且支持各種加密模式,例如ECB、CBC等。它還提供了證書驗證、數(shù)字簽名、秘鑰生成等功能。

Linux和OpenSSL有著密切的關系,前者提供了一個優(yōu)越的操作系統(tǒng)平臺,后者則提供了必要的加密與安全保障。在今天網(wǎng)絡安全日益嚴峻的情況下,這樣的組合被廣泛應用于服務器、網(wǎng)絡設備上等位置。

Linux系統(tǒng)為OpenSSL提供了優(yōu)越的執(zhí)行環(huán)境和性能支持。在Linux下,OpenSSL的性能表現(xiàn)非常優(yōu)秀。Linux的強大網(wǎng)絡性能與OpenSSL的加密技術相輔相成,為網(wǎng)絡通信提供了堅實的保障。

OpenSSL的加密技術是Linux下一些網(wǎng)絡應用必不可少的一部分。例如,web 服務器、eml 服務器、DNS解析器等等,這些服務應用都需要通過加密來確保數(shù)據(jù)的安全傳輸。OpenSSL的證書驗證和數(shù)字簽名技術可以保證通信的可信度和完整性。

另外,在Linux環(huán)境下,OpenSSL也是一個強大、靈活的安全工具。使用OpenSSL可以輕松地生成數(shù)字證書,這對于網(wǎng)絡安全來說是非常重要的。在一些高度安全性要求的應用中,例如金融交易、醫(yī)療保健等應用中,數(shù)字證書可以確保通信安全性和用戶身份證明的準確性。

此外,Linux和OpenSSL也會被用作安全監(jiān)測和風險識別工具。使用 Linux 和 OpenSSL ,可以開發(fā)出一些自定義的工具來監(jiān)測網(wǎng)絡通信和識別潛在的風險。開發(fā)者可以使用 Linux 的網(wǎng)絡監(jiān)測工具(Wireshark、tcpdump和nmap等)來監(jiān)測網(wǎng)絡通信,同時使用 OpenSSL 分析數(shù)據(jù)包中的數(shù)據(jù)來識別未加密的通信情況。

綜上所述,Linux和OpenSSL是網(wǎng)絡安全領域中不可或缺的兩個方面。Linux提供了穩(wěn)定、高效的操作系統(tǒng)平臺,OpenSSL則提供了加密和安全保障的功能,二者形成了完美的配合。網(wǎng)絡安全的重要性越來越受到重視,需要有Linux和OpenSSL這樣的強大工具來應對各種挑戰(zhàn)和威脅。Linux和OpenSSL的不斷發(fā)展和完善,將會使其在未來的互聯(lián)網(wǎng)安全領域中發(fā)揮更加重要的作用。

相關問題拓展閱讀:

  • linux下使用openssl檢測PE文件數(shù)字簽名的證書是否有效

linux下使用openssl檢測PE文件數(shù)字簽名的證書是否有效

之一個坑: 有效期

  windows在判斷證書是否有效時不檢測證書的有效期, 即使該證書超過有效期好幾年了, 只要沒有被吊銷, 微軟仍然認為它是有效的. 但在 openssl 提供的 X509_verify_cert 函數(shù)會驗證證書的有效期, 因此需要注釋掉驗證有效期的那部分代碼并重新編譯 openssl…

  OK, 從 openssl 官網(wǎng) 上下載最新的版本, 好吧, 現(xiàn)在還是剛剛修復 Heartbleed 漏洞的 1.0.1g 版本…

  下載, 解壓, 看下 INSTALL 文檔, 先試試可以編譯不:

  ./config

make

  運氣不錯, 不用安裝什么依賴直缺稿接編譯成功. 將代碼根目錄產(chǎn)生的 libcrypto.a 添加到項目中測試下, OK, 可以使用, 下面開始折騰了~

  在 crypto/x509/x509_vfy.c 的 153 行找到 X509_verify_cert 函數(shù)(在線查看), 局部變量 ok 緩存每一步驗證是否通過, 它依次調(diào)用了:

  check_issued

check_chain_extensions

check_name_constraints

check_trust

check_revocation

internal_verify

check_policy

  其中 internal_verify (在線查看)驗證了證書的有效期, 進伏梁孝入這個函數(shù), 在 1654 行找到這個代碼:

  ok = check_cert_time(ctx, xs);

if (!ok)

goto end;

  看看 check_cert_time 函數(shù), 確認是檢查 notBefore 和 notAfter, 因此將上面三行代碼注釋掉, 驗證證書時就不會檢測有效期了.

  然后就是重新編譯 openssl, 將 libcrypto.a 集成到項目里了~

  第二個坑: unhandled critical extension

  搜索了下, 在 openssl 官網(wǎng)上找到這個:

  -ignore_critical

Normally if an unhandled critical extension is present which is not supported by OpenSSL the certificate is rejected (as required by RFC5280). If this option is set critical extensions are ignored.

  原來是當openssl遇到證書中有它不支持的 未處理的關鍵擴展(unhandled critical extension ?) 時, 它會拒絕加載該證書.

  再搜索下 -ignore_critical, 在 verify.c 中找到如下代碼片段:

  else if (strcmp(*argv,”-ignore_critical”) == 0)

vflags |= X509_V_FLAG_IGNORE_CRITICAL;

  然后再使用 X509_STORE_set_flags 函數(shù)設置標志位:

  X509_STORE *ctx;

X509_STORE_set_flags(ctx, vflags);

  即可.

  第三個坑: certificate signature failure

  這個坑填不上了, openssl 說:

  7 X509_V_ERR_CERT_SIGNATURE_FAILURE: certificate signature failure

the signature of the certificate is invalid.

  在windows下導出證書文件, 直接用 openssl 驗證, 在加載證書就會出錯, PEM_read_bio_X509 返回為空….

  第四個坑: A certificate was explicitly revoked by its issuer.

  A certificate was explicitly revoked by its issuer. 是 Sysinternals 提供的工具sigcheck.exe 的檢測結(jié)果, 把文件拎出來一看, 證書真渣衡的被撤銷了…

  OK, 只好根據(jù)證書上的 CRL Distribution Point(CRL 分發(fā)點) 提供的 URL 下載 撤銷證書列表 文件, 然后在調(diào)用 X509_verify_cert 驗證證書鏈之前, 設置填充被撤銷的證書列表:

  X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl); // 讀取被撤銷的證書列表

STACK_OF(X509_CRL) *sk_X509_CRL_new_null();

#define sk_X509_CRL_push(st, val) SKM_sk_push(X509_CRL, (st), (val)); // sk_X509_CRL_push(STACK_OF(X509_CRL) *crls, X509_CRL *crl);

void X509_STORE_CTX_set0_crls(X509_STORE_CTX *c, STACK_OF(X509_CRL) *sk); // 設置被撤銷的證書列表

  同時, 也要設置檢查被撤銷證書列表的標志位 X509_V_FLAG_CRL_CHECK, 然后再調(diào)用X509_verify_cert 驗證證書鏈即可.

  填了第四個坑后又引起了第五個坑(如何獲取撤銷證書列表)和第六個坑(設置檢測撤銷證書列表的標識位后, 如果該證書沒有撤銷證書列表則直接報錯)…

  第五個坑: 獲取撤銷證書列表文件

  證書上的 CRL Distribution Point(CRL 分發(fā)點) 屬于擴展屬性, 在 PKCS #7: Cryptographic Message Syntax V1.5 上沒有相關介紹.

  在 StackOverflow 上找到這個問答 Openssl – How to check if a certificate is revoked or not, 其中第二個回答說 CRL 是在 RFC 5280 中定義的, 除了證書中附帶被撤銷的證書列表以外還有使用 OCSP 協(xié)議的, 即使證書撤銷列表也分為使用 URL分發(fā)點和 LDAP DNs(???)提供的, 目前先考慮使用 URL 作為 CRL分發(fā)點 的情況吧.

  然而 openssl 沒有提供直接獲取 CRL 分發(fā)點 URL 的API, 那個回答說 Apache 的 mod_ssl 模塊有本地 CRL 和 OCSP 檢測的實現(xiàn)代碼, 但沒有說明哪里有檢測使用 URL 作為 CRL分發(fā)點 的實現(xiàn)方法.

  然后又在 frank4dd.com上找到這個代碼 certextensions.c, 他給出了一個如何使用 openssl 從 X.509v3 版本的證書文件中提取擴展內(nèi)容的示例程序, 太感謝 Frank4DD 這位仁兄了~~~

  到這里后, 可以直接使用他的示例程序, 根據(jù)關鍵字 Full Name 和 URI 定位 CRL 分發(fā)點 的 URL, 也可以看看 openssl 是如何提取這個 URL 的, 然后自己實現(xiàn)一個接口.

  如果自作孽使用第二種方法的話, 就編譯個 debug 版的 openssl 庫, 然后調(diào)試跟進X509V3_EXT_print 函數(shù), 一步一步的向下走, 直到走到 GENERAL_NAME_print 函數(shù), 這里就是終點了…然后就知道了 CRL 分發(fā)點 的 URL 的編號為 6, 也就是 GEN_URI, 直接取結(jié)果吧.

  第六個坑: CRL有效期

  在windows環(huán)境下每次查看PE文件的數(shù)字簽名時, windows 都會從 CRL分發(fā)點 下載吊銷證書列表做驗證, 一般來說, 每個 CRL的有效期是非常短的, 大概只有 5~20 天的有效期吧, 然而我們不可能像 windows 一樣每次查看數(shù)字簽名時就從 CRL分發(fā)點 下載最新的吊銷列表.

  另外, windows 遇到過期的 CRL 時不會產(chǎn)生證書鏈無效的結(jié)果, 但 openssl 在遇到過期的 CRL 時就會導致證書鏈驗證失敗, 因此在加載和驗證 CRL 時, 要忽略 CRL 的有效期.

  分析 openssl 源代碼, X509_verify_cert 調(diào)用 check_revocation , 之后調(diào)用 check_cert , 然后再調(diào)用 check_crl , 在這個函數(shù)里有檢測 CRL 有效期的代碼:

  if (!(ctx->current_crl_score & CRL_SCORE_TIME))

{

ok = check_crl_time(ctx, crl, 1);

if (!ok)

goto err;

}

  將其注釋掉即可忽略檢測 CRL 有效期.

  第七個坑: CRL 列表為空導致 openssl 認為沒有加載 CRL

  

  9 初始化順序

  10 證書名: key_id

?

關于linuxopensll的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。

香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。


分享文章:Linux和OpenSSL的關系和作用(linuxopensll)
轉(zhuǎn)載來于:http://www.5511xx.com/article/djgddsh.html