Openssl TRNG provider demo guide
文章目录
- Requirement
- How to configure custom provider for Openssl
- Configuring openssl.cnf for Custom Provider
- How to demo TRNG provider
- 使用 OpenSSL CLI 演示
Requirement
OpenSSL Library 必須安裝 v3.0 或以上版本,並啟用 Provider API 支持。
。
How to configure custom provider for Openssl
Configuring openssl.cnf for Custom Provider
為了確保自訂 Provider 能夠正確整合到 OpenSSL v3.x,需要核對 openssl.cnf 配置檔案是否安裝在正確的路徑中。默認的安裝路徑為:
/etc/ssl/openssl.cnf
如果系統使用了非標準的路徑,需要通過設定環境變數來顯式指定 openssl.cnf 的路徑,例如:
export OPENSSL_CONF=/path/to/your/openssl.cnf
請確保在配置檔案中正確載入並配置 Provider 模組。
...
# 全局 OpenSSL 初始化配置
openssl_conf = openssl_init# 初始化設置
[openssl_init]
providers = provider_section# 提供者加載區域
[provider_section]
se_trng = se_trng_sect # 加載自訂提供者 se_trng
default = default_provider # 同時保留默認提供者,除非我已經實現了所有必需的加密、密鑰衍生、MAC 計算、簽署與驗證演算法,否則不能刪除# 同時啟用默認 provider
[default_sect]
activate = 1# SE TRNG provider 配置
[se_trng_sect]
module = /system/lib/libse_trng.so # libse_trng.so 的安裝路徑
activate = 1 # 1 表示啟用 custom_provider
How to demo TRNG provider
OpenSSL 提供的官方應用程式(openssl CLI 工具)可作為演示的基礎。以下是演示 SE TRNG Provider 如何通過 OpenSSL v3.x 使用 SE 硬體提供的隨機數功能的步驟與方式。
使用 OpenSSL CLI 演示
- 確認openssl 載入 se_trng provider
$ openssl list -providers
Providers:defaultname: OpenSSL Default Providerversion: 3.2.1status: activese_trng
- 產生隨機數
$ openssl rand -provider se_trng -hex 16
c52f3986eddb4f7ffc721816e743c739
$ openssl rand -provider se_trng -hex 32
df91eb82ffd13725f9c904d50c8f818ada6a86fb422eb97c5ec3f9034f169876