openssl-mac
名稱
openssl-mac - 執行訊息驗證碼運算
語法
openssl mac [-help] [-cipher] [-digest] [-macopt] [-in filename] [-out filename] [-binary] [-provider name] [-provider-path path] [-propquery propq] mac_name
說明
訊息驗證碼函式會輸出所提供輸入檔案的 MAC。
選項
- -help
-
列印使用說明訊息。
- -in filename
-
要計算 MAC 的輸入檔名,或預設為標準輸入。如果檔名為「-」,則使用標準輸入。檔案和標準輸入預期為二進位格式。
- -out filename
-
要輸出的檔名,或預設為標準輸出。
- -binary
-
以二進位格式輸出 MAC。如果未指定,則使用十六進位文字格式。
- -cipher name
-
CMAC 和 GMAC 使用此選項來指定加密演算法。對於 CMAC,它應該是 CBC 模式加密,例如 AES-128-CBC。對於 GMAC,它應該是 GCM 模式加密,例如 AES-128-GCM。
- -digest name
-
HMAC 使用此選項作為字母數字字串(僅在金鑰包含可列印字元時使用)。字串長度必須符合 MAC 演算法的任何限制。若要查看支援的摘要清單,請使用
openssl list -digest-commands
。 - -macopt nm:v
-
傳遞選項給 MAC 演算法。可以在 EVP_MAC 實作文件檔中找到控制項的完整清單。EVP_MAC_CTX_get_params() 使用的常見參數名稱為
- key:string
-
將 MAC 金鑰指定為字母數字字串(僅在金鑰包含可列印字元時使用)。字串長度必須符合 MAC 演算法的任何限制。必須為每個 MAC 演算法指定金鑰。
- hexkey:string
-
以十六進位格式指定 MAC 金鑰(每個位元組兩個十六進位數字)。金鑰長度必須符合 MAC 演算法的任何限制。必須為每個 MAC 演算法指定金鑰。
- iv:string
-
GMAC 使用此選項將 IV 指定為字母數字字串(僅在 IV 包含可列印字元時使用)。
- hexiv:string
-
GMAC 使用此選項將 IV 指定為十六進位格式(每個位元組兩個十六進位數字)。
- 大小:int
-
由 KMAC128 或 KMAC256 使用,用於指定輸出長度。預設大小分別為 32 或 64 位元組。
- 自訂:字串
-
由 KMAC128 或 KMAC256 使用,用於指定自訂字串。預設為空字串「」。
- 摘要:字串
-
此選項與 -摘要 選項相同。
- 密碼:字串
-
此選項與 -密碼 選項相同。
- -提供者 名稱
- -提供者路徑 路徑
- -propquery propq
- mac_name
-
指定將使用的受支援 MAC 演算法名稱。若要查看受支援 MAC 的清單,請使用指令
openssl list -mac-algorithms
。
範例
建立檔案的 HMAC-SHA1 MAC 的十六進位編碼,並寫入 stdout
openssl mac -digest SHA1 \
-macopt hexkey:000102030405060708090A0B0C0D0E0F10111213 \
-in msg.bin HMAC
從檔案建立 SipHash MAC,並以二進位檔案輸出
openssl mac -macopt hexkey:000102030405060708090A0B0C0D0E0F \
-in msg.bin -out out.bin -binary SipHash
從檔案建立 CMAC-AES-128-CBC MAC 的十六進位編碼
openssl mac -cipher AES-128-CBC \
-macopt hexkey:77A77FAF290C1FA30C683DF16BA7A77B \
-in msg.bin CMAC
從檔案建立 KMAC128 MAC 的十六進位編碼,自訂字串為「標籤」,輸出長度為 16
openssl mac -macopt custom:Tag -macopt hexkey:40414243444546 \
-macopt size:16 -in msg.bin KMAC128
從檔案建立 GMAC-AES-128-GCM 的十六進位編碼,並使用 IV
openssl mac -cipher AES-128-GCM -macopt hexiv:E0E00F19FED7BA0136A797F3 \
-macopt hexkey:77A77FAF290C1FA30C683DF16BA7A77B -in msg.bin GMAC
注意事項
可用的 MAC 機制會依據建置 OpenSSL 時使用的選項而定。使用 openssl list -mac-algorithms
來列出它們。
另請參閱
openssl(1)、EVP_MAC(3)、EVP_MAC-CMAC(7)、EVP_MAC-GMAC(7)、EVP_MAC-HMAC(7)、EVP_MAC-KMAC(7)、EVP_MAC-Siphash(7)、EVP_MAC-Poly1305(7)
版權
版權所有 2018-2024 OpenSSL 專案作者。保留所有權利。
根據 Apache 授權條款 2.0(「授權條款」)授權。您不得在不遵守授權條款的情況下使用此檔案。您可以在原始程式碼散佈中的 LICENSE 檔案或 https://www.openssl.org/source/license.html 中取得副本。