歡迎使用CSDN markdown編輯器

2021-07-02 21:45:10 字數 1968 閱讀 3607

openssl 常用函式——證書操作 現有的證書大都採用x。509規範, 主要同以下資訊組成:版本號、證書序列號、有效期、擁有者資訊、頒發者資訊、其他擴充套件資訊、擁有者的公鑰、ca對以上資訊的簽名。 openssl實現了對x。509數字證書的所有操作。包括簽發數字證書、解析和驗證證書等。 涉及證書操作的主要函式有驗證證書(驗證證書鏈、有效期、crl)、解析證書(獲得證書的版本、序列號、頒發者資訊、主題資訊、公鑰、有效期等)。 主要函式 1、 der編碼轉換為內部結構函式 x509 *d2i_x509(x509 **cert, unsigned char **d, int len); 函式功能:把乙個der編碼的證書資料轉化成openssl內部結構體。 引數:cert:[out]x509結構體。 d:[in]der編碼的證書資料指標位址。len[in]證書資料長度; 返回值:編碼後的x509結構體資料

2、 獲得證書版本函式x509_get_version #define x509_get_version(x) asn1_integer_get((x)->cert_info->version) 引數:x:[in]x509*結構體資料結構。 返回值:證書版本,資料型別「long」

3、 獲得證書序列號函式 asn1_integer *x509_get_serialnumber(x509 *x); 返回值:證書序列號,資料型別「asn1_integer」。

4、 獲得證書頒發者資訊函式 x509_name x509_get_issuer_name(x509 *a); 注:x509_name結構體包括多個x509_name_entry結構體。x509_name_entry儲存了頒發者的資訊,這些資訊包括物件和值(object 和value)。物件的型別包括國家、通用名、單位、組織、地區、郵件等。

5、 獲得證書擁有者資訊函式 x509_name *x509_get_subject_name(x509 *a) 。

6、 獲得證書有效期的起始日期函式 #define x509_get_notbefore(x) ((x)->cert_info->validity->notbefore) 返回值: 證書起始有效期,資料型別「asn1_time」 7、 獲得證書有效期的終止日期函式 #define x509_get_notafter(x) ((x)->cert_info->validity->notafter) 。

8、 獲得證書公鑰函式 evp_pkey *x509_get_pubkey(x509 *x); 9、 建立和釋放證書儲存區 x509_store *x509_store_new(void); void x509_store_free(x509_store *v); 函式功能:建立和釋放乙個x509_store結構體, 主要用於驗證證書。

10、向證書儲存區新增證書 int x509_store_add_cert(x509_store *ctx, x509 *x);

函式功能:新增信任的根證書到證書儲存區。 返回值:1成功,否則為0。

11、向證書儲存區新增證書吊銷列表 int x509_store_add_crl(x509_store *ctx, x509_crl *x); 功能:新增crl到證書儲存區。 引數:x:[in]證書吊銷列表。ctx:[in]證書儲存區。 返回值:1成功, 否則為0。

12、建立證書儲存區上下文環境函式 x509_store_ctx *x509_store_ctx_new(void); 返回值:操作成功返回證書儲存區上下文環境指標,否則返回null。

13、釋放證書儲存區上下文環境 void x509_store_ctx_free(x509_store_ctx *ctx)。

14、初始化證書儲存區上下文環境函式 int x509_store_ctx_init(x509_store_ctx *ctx, x509_store *store, x509 *x509, stack_of(x509) *chain); 函式功能:初始化證書儲存區上下文環境,設定根證書、待驗證的證書、ca證書鏈。

15、驗證證書函式 int x509_verify_cert(x509_store_ctx *ctx); 返回值:驗證成功返回1,否則返回0。

歡迎使用CSDN markdow

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

歡迎毛毛與妞妞使用CSDN markdown編輯器

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...

歡迎使用CSDN markdow1n編輯器

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...