freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

openssl之pemword版-展示頁(yè)

2024-09-01 04:56本頁(yè)面
  

【正文】 意義進(jìn)行介紹,以便于后述章節(jié)能夠更方便流暢地進(jìn)行PEM系列函數(shù)的介紹。 struct DEK_info參數(shù)該參數(shù)定義了PEM中DEK_info字段的信息,本來(lái)該參數(shù)應(yīng)該含有兩個(gè)字段,包括加密算法和IV。下面我們對(duì)PEM_CTX結(jié)構(gòu)體中一些重要的參數(shù)做詳細(xì)的說(shuō)明 int type參數(shù)該參數(shù)指明了PEM_CTX結(jié)構(gòu)的類(lèi)型,目前包括了以下定義的類(lèi)型:define PEM_OBJ_UNDEF 0define PEM_OBJ_X509 1define PEM_OBJ_X509_REQ 2define PEM_OBJ_CRL 3define PEM_OBJ_SSL_SESSION 4define PEM_OBJ_PRIV_KEY 10define PEM_OBJ_PRIV_RSA 11define PEM_OBJ_PRIV_DSA 12define PEM_OBJ_PRIV_DH 13define PEM_OBJ_PUB_RSA 14define PEM_OBJ_PUB_DSA 15define PEM_OBJ_PUB_DH 16define PEM_OBJ_DHPARAMS 17define PEM_OBJ_DSAPARAMS 18define PEM_OBJ_PRIV_RSA_PUBLIC 19可以看到,這些類(lèi)型基本上包括了所有openssl中要使用的基本結(jié)構(gòu) struct proc_type參數(shù)該參數(shù)是保存了PEM標(biāo)準(zhǔn)中Proc_Type字段的信息(參考《openssl之PEM系列之1》),可以看到,該結(jié)構(gòu)包括兩個(gè)字段,第一個(gè)字段version是版本號(hào),第二個(gè)字段mode是信息的編碼方式,目前定義了四種,如下:define PEM_TYPE_ENCRYPTED 10define PEM_TYPE_MIC_ONLY 20define PEM_TYPE_MIC_CLEAR 30define PEM_TYPE_CLEAR 40這四個(gè)值的意義可以參考《openssl之PEM系列之1》。 //數(shù)據(jù)長(zhǎng)度unsigned char *data。 //加密密鑰int data_enc。//數(shù)據(jù)加密算法int key_len。 //摘要信息的長(zhǎng)度char *md_data。 //簽名算法類(lèi)型,指定了信息摘要算法和簽名算法int md_enc。//保存證書(shū)鏈elsechar *x509_chain。PEM_USER **recipient。//定義了PEM中DEK_info字段的信息PEM_USER *originator。struct{int cipher。//編碼方式} proc_type。//結(jié)構(gòu)類(lèi)型struct{int version。下面是PEM主結(jié)構(gòu)體PEM_CTX結(jié)構(gòu)的定義,我們將在注釋里面對(duì)必要的參數(shù)進(jìn)行說(shuō)明。int key_enc。X509_NAME *dn。} PEM_ENCODE_SEAL_CTX。EVP_MD_CTX md。下面定義的是PEM一個(gè)高層應(yīng)用結(jié)構(gòu),該結(jié)構(gòu)通過(guò)PEM_SealInit進(jìn)行初始化,最后使用PEM_SealFinal進(jìn)行釋放,該結(jié)構(gòu)定義了PEM中要使用的編碼算法、信息摘要算法以及加密算法。大家如果經(jīng)常使用openssl的應(yīng)用程序,就對(duì)這些文件格式很熟悉了。5. 在這些信息的前面加上如下形式頭標(biāo)注信息:BEGIN PRIVACYENHANCED MESSAGE在這些信息的后面加上如下形式尾標(biāo)注信息:END PRIVACYENHANCED MESSAGE上面是openssl的PEM文件的基本結(jié)構(gòu),需要注意的是,Openssl并沒(méi)有實(shí)現(xiàn)PEM的全部標(biāo)準(zhǔn),它只是對(duì)openssl中需要使用的一些選項(xiàng)做了實(shí)現(xiàn),詳細(xì)的PEM格式,請(qǐng)參考RFC1421-1424。Openssl之PEM系列作者: LaoKa20080426PEM全稱(chēng)是Privacy Enhanced Mail,該標(biāo)準(zhǔn)定義了加密一個(gè)準(zhǔn)備要發(fā)送郵件的標(biāo)準(zhǔn),主要用來(lái)將各種對(duì)象保存成PEM格式,并將PEM格式的各種對(duì)象讀取到相應(yīng)的結(jié)構(gòu)中。它的基本流程是這樣的:1. 信息轉(zhuǎn)換為ASCII碼或其它編碼方式;2. 使用對(duì)稱(chēng)算法加密轉(zhuǎn)換了的郵件信息;3. 使用BASE64對(duì)加密后的郵件信息進(jìn)行編碼;4. 使用一些頭定義對(duì)信息進(jìn)行封裝,這些頭信息格式如下(不一定都需要,可選的):ProcType,4:ENCRYPTED DEKInfo: ciphername, ivec其中,第一個(gè)頭信息標(biāo)注了該文件是否進(jìn)行了加密,該頭信息可能的值包括ENCRYPTED(信息已經(jīng)加密和簽名)、MICONLY(信息經(jīng)過(guò)數(shù)字簽名但沒(méi)有加密)、MICCLEAR(信息經(jīng)過(guò)數(shù)字簽名但是沒(méi)有加密、也沒(méi)有進(jìn)行編碼,可使用非PEM格式閱讀)以及CLEAR(信息沒(méi)有簽名和加密并且沒(méi)有進(jìn)行編碼,該項(xiàng)好象是openssl自身的擴(kuò)展,但是并沒(méi)有真正實(shí)現(xiàn));;第二個(gè)頭信息標(biāo)注了加密的算法以及使用的ivec參量,ivec其實(shí)在這兒提供的應(yīng)該是一個(gè)隨機(jī)產(chǎn)生的數(shù)據(jù)序列,與塊加密算法中要使用到的初始化變量(IV)不一樣。下面是一個(gè)PEM編碼的經(jīng)過(guò)加密的DSA私鑰的例子:BEGIN DSA PRIVATE KEYProcType: 4,ENCRYPTEDDEKInfo: DESEDE3CBC,F80EEEBEEA7386C4GZ9zgFcHOlnhPoiSbVi/yXc9mGoj44A6IveD4UlpSEUt6Xbse3Fr0KHIUyQ3oGnSmClKoAp/eOTb5Frhto85SzdsxYtac+X1v5XwdzAMy2KowHVk1N8A5jmE2OlkNPNtof132MNlo2cyIRYaa35PPYBGNCmUm7YcYS8O90YtkrQZZTf4+2C4kllhMcdkQwkrFWSWC8YOQ7w0LHb4cX1FejHHom9Nd/0PN3vn3UyySvfOqoR7nbXkrpHXmPIr0hxXRcF0aXcV/CzZ1/nfXWQf4o3+oD0T22SDoVcZY60IzI0oIc3pNCbDV3uKNmgekrFdqOUJ+QW8oWp7oefRx62iBfIeC8DZunohMXaWAQCU0sLQOR4yEdeUCnzCSywe0bG1diD0KYaEe+Yub1BQH4aLsBgDjardgpJRTQLq0DUvw0/QGO1irKTJzegEDNVBKrVnV4AHOKT1CUKqvGNRP1UnccUDTF6miOAtaj/qpzra7sSk7dkGBvIEeFoAg84kfh9hhVvF1YyzC9bwZepruoqoUwke/WdNIR5ymOVZ/4Liw0JdIOcq+atbdRX08niqIRkfdsZrUj4leo3zdefYUQ7w4N2Ns37yDFq7END DSA PRIVATE KEY有時(shí)候PEM編碼的東西并沒(méi)有經(jīng)過(guò)加密,只是簡(jiǎn)單進(jìn)行了BASE64編碼,下面是一個(gè)沒(méi)有加密的證書(shū)請(qǐng)求的例子:BEGIN CERTIFICATE REQUESTMIICVTCCAhMCAQAwUzELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNVBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEMMAoGA1UEAxMDUENBMIIBtTCCASkGBSsOAwIMMIIBHgKBgQCnP26Fv0FqKX3wn0cZMJCaCR3aajMexT2GlrMV4FMuj+BZgnOQPnUxmUd6UvuF5NmmezibaIqEm4fGHrV+hktTW1nPcWUZiG7OZq5riDb77Cjcwtelu+UsOSZL2ppwGJU3lRBWI/YV7boEXt45T/23Qx+1pGVvzYAR5HCVW1DNSQIVAPcHMe36bAYD1YWKHKycZedQZmVvAoGATd9MA6aRivUZb1BGJZnlaG8w42nh5bNdmLsohkj83pkEP1+IDJxzJA0gXbkqmj8YlifkYofBe3RiU/xhJ6h6kQmdtvFNnFQPWAbuSXQHzlV+I84W9srcWmEBfslxtU323DQph2j2XiCTs9v15AlsQReVkusBtXOlan7YMu0OArgDgYUAAoGBAKbtuR5AdW+ICjCFe2ixjUiJJzM2IKwe6NZEMXg39+HQ1UTPTmfLZLps+rZfolHDXuRKMXbGFdSF0nXYzotPCzi7GauwEJTZyr27ZZjA1C6apGSQ9GzuwNvZ4rCXystVEagAS8OQ4H3D4dWS17Zg31ICb5o4E5r0z09o/Uz46u0VoAAwCQYFKw4DAhsFAAMxADAuAhUArRubTxsbIXy3AhtjQ943AbNBnSICFQCu+g1iW3jwF+gOcbroD4S/ZcvB3w==END CERTIFICATE REQUEST可以看到,該文件沒(méi)有了前面兩個(gè)頭信息。openssl中定義的PEM相關(guān)結(jié)構(gòu)體如下(openssl\),這些結(jié)構(gòu)體是所有PEM系列函數(shù)的基礎(chǔ)。typedef struct PEM_Encode_Seal_st{EVP_ENCODE_CTX encode。EVP_CIPHER_CTX cipher。下面定義了PEM_CTX中的一個(gè)子結(jié)構(gòu),用來(lái)保存用戶(hù)的信息typedef struct pem_recip_st{char *name。int cipher。} PEM_USER。typedef struct pem_ctx_st{int type。//版本號(hào)int mode。//Proc_Type字段信息,包括版本號(hào)和編碼方式char *domain。} DEK_info。int num_recipient。ifndef OPENSSL_NO_STACKSTACK *x509_chain。 //保存證書(shū)鏈endifEVP_MD *md。 //信息摘要算法是否進(jìn)行了加密(簽名)int md_len。 //摘要信息,可以是經(jīng)過(guò)了加密(簽名)的信息EVP_CIPHER *dec。 //密鑰長(zhǎng)度unsigned char *key。 //數(shù)據(jù)是否加密標(biāo)志int data_len。 //數(shù)據(jù)} PEM_CTX。值得注意是,在openssl實(shí)現(xiàn)的PEM文件中,最后一個(gè)PEM_TYPE_CLEAR其實(shí)并沒(méi)有用到。但是由于歷史原因,op
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1