簡體   English   中英

使用后量子公鑰算法在C中創建X509證書?

[英]Creating X509 certificate in C using post-quantum public key algorithm?

我正在嘗試實現使用后量子(PQ)公鑰算法作為公鑰算法的自簽名x509證書。 我查看了c語言中的openssl庫,以及使用RSA的方式。 我實質上是在嘗試復制相同的格式。 根據我在openssl庫中看到的內容,RSA和其他兩個受支持的算法都集成在加密EVP層中(密鑰存儲為EVP_PKEY)。 我要使用的openssl庫中的函數是X509_REQ_set_pubkey(X509_REQ * x,EVP_PKEY * pkey),以及一些其他輸入非常相似的函數。 有什么方法可以將PQ算法集成到EVP層中? 如果沒有,使用EVP層是否有辦法實現相同的目標?

我嘗試查看openssl庫中的evp源代碼。 看來它僅支持某些算法,例如RSA,EC ...我不確定是否可以將PQ算法合並到EVP層中。 我遵循此鏈接中的示例:( https://www.codepool.biz/how-to-use-openssl-to-generate-x-509-certificate-request.html )以生成證書。 我沒有插入RSA密鑰,而是插入了PQ算法密鑰。 到目前為止,當我創建證書時,它總是以錯誤的格式輸出。

我正在使用此命令:openssl x509 -in x509Req.​​pem -text -noout讀取生成的證書。 它始終顯示錯誤消息“無法加載證書\\ n 140688586052032:錯誤:0906D06C:PEM例程:PEM_read_bio:無起始行:../ crypto / pem / pem_lib.c:691:期望:受信任的證書”。

EVP API使用“ ENGINE”來實現所有對稱算法(密碼),摘要和非對稱算法(公鑰算法)。 可以添加/更換ENGINE模塊。 請參閱openssl 引擎命令。

我認為這是您要研究的領域。 我認為該領域沒有很多文檔(我可以找到),但是有一些示例引擎可供您研究。

如果下載openssl源代碼 ,則可以在engines文件夾中查找示例引擎,您可以使用它們開始實現自定義算法。

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM