批次指令
批次指令可提供對 PKCS #11 工具的指令行存取。
在「PKCS #11 密碼管理」工具 (p11km) 中有下列批次指令可用。
註: 若要使用批次指令,請執行下列動作:
- 如批次處理所述,建立及編輯批次檔。
- 建立新的 p11km_cmd 區段,其中包含想要使用之批次指令的屬性。
- 列出可用的 PKCS #11 記號
- 針對可用的 PKCS #11 記號,產生報告並顯示記號及介面槽資訊。
- 必要屬性
action_name = “LIST_TOKENS”- 選用屬性
start_gui = “<boolean>”其中 <boolean> 為
TRUE或FALSE- 範例
[p11km_cmd_list_tokens] action_name = “LIST_TOKENS”
- 列出可用的 PKCS #11 機制
- 產生報告並顯示特定 PKCS #11 記號所支援的可用 PKCS #11 機制 (藉由指定驅動程式及介面槽屬性值來比對)。
- 必要屬性
action_name = “LIST_MECHANISMS” p11_driver = “<driver name>” p11_slot = “<slot number>”其中 <slot number> 為正整數值,而 <driver name> 為下列其中一個值:值 說明 AIX® AIX OS 加密架構 IBM_4758_4960 IBM® 4758/4960 加密硬體配接卡 IBM_4764 IBM 4764 加密硬體配接卡 其他 如果指定 OTHER,您還必須指定 p11_driver_path 屬性。 - 選用屬性
start_gui = “<boolean>”- 補充屬性
p11_driver_path = “<path to PKCS#11 driver>”其中 <path to PKCS#11 driver> 是指令所使用 PKCS #11 程式庫的完整 UNIX 路徑及檔名。唯有當 p11_driver 屬性設為
OTHER時,才可以指定此屬性。- 範例
[p11km_cmd_list_4764_slot_0_mechs] action_name = “LIST_MECHANISMS” p11_driver = “IBM_4764” p11_slot = “0” start_gui = “TRUE”
- 列出可用的 PKCS #11 物件
- 產生報告並顯示 PKCS #11 記號所支援的可用 PKCS #11 物件 (藉由指定驅動程式及介面槽屬性值來比對)。
- 必要屬性
action_name = “LIST_OBJECTS” p11_driver = “<driver name>” p11_slot = “<slot number>”- 選用屬性
p11_login = “<boolean>” p11_label = “<string>” p11_class = “<PKCS#11 Object Class>” p11_private = “<boolean>” p11_trusted = “<boolean>” p11_sensitive = “<boolean>” start_gui = “<boolean>”其中 <PKCS#11 Object Class> 為下列其中一個值(從 RSA 在 PKCS #11 規格中所定義):CKO_DATA CKO_CERTIFICATE CKO_PUBLIC_KEY CKO_PRIVATE_KEY CKO_SECRET_KEY CKO_HW_FEATURE CKO_DOMAIN_PARAMETERS CKO_MECHANISM CKO_VENDOR_DEFINED- 範例
[p11km_cmd_list_private_objs] action_name = “LIST_OBJECTS” p11_login = “TRUE” p11_private = “TRUE” p11_driver = “AIX” p11_slot = “5”
- 變更 PKCS #11 記號使用者的 PIN:
- 變更 PKCS #11 記號使用者登入記號時所使用的 PIN。
- 必要屬性
action_name = “CHANGE_USER_PIN” p11_driver = “<driver name>” p11_slot = “<slot number>”- 選用屬性
start_gui = “<boolean>”- 範例
[p11km_cmd_change_my_pin] action_name = “CHANGE_USER_PIN” p11_slot = “1337” p11_driver = “IBM_4764”
- 刪除 PKCS #11 物件
- 刪除 PKCS #11 物件。物件是根據執行 LIST_OBJECTS 指令以及使用具有下列屬性的相同範本所得到的編號物件清單來進行刪除:
p11_label = “<string>” p11_class = “<PKCS#11 Object Class>” p11_private = “<boolean>” p11_trusted = “<boolean>” p11_sensitive = “<boolean>” p11_login = “<boolean>”小心: 因為在批次處理程序之間不會維護記號狀態及一致性,所以可能會意外刪除物件。如果從最初列出物件時到刪除物件時之間,針對同一記號所執行的其他處理程序新增或刪除了物件,則會變更物件的列出順序。- 必要屬性
action_name = “DELETE_OBJECTS” p11_driver = “<driver name>” p11_slot = “<slot number>” p11_objects = “<CSV>”其中 <CSV> 為字組 ALL(所有記號物件),或以逗點區隔的正整數值清單,此清單對應於使用下列選用屬性所編號的物件出現順序。
- 選用屬性
p11_label = “<string>” p11_class = “<PKCS#11 Object Class>” p11_private = “<boolean>” p11_trusted = “<boolean>” p11_sensitive = “<boolean>” p11_login = “<boolean>” start_gui = “<boolean>”- 範例
[p11km_cmd_delete_seven_objects] action_name = “DELETE_OBJECTS” p11_slot = “0” p11_driver = “AIX” p11_objects = “1,5,10,11,12,27,33” p11_login = “TRUE”
- 移動 PKCS #11 物件:
- 移動 PKCS #11 物件。物件是根據執行 LIST_OBJECTS 指令以及使用相同範本所得到的編號物件清單來進行移動。小心: 因為在批次處理程序之間不會維護記號狀態及一致性,所以可能會意外移動物件。如果從最初列出物件時到移動物件時之間,針對同一記號所執行的其他處理程序新增或刪除了物件,則會變更物件的列出順序。
- 必要屬性
action_name = “MOVE_OBJECTS” ############################################ ###### 來源記號識別: ###### p11_driver = “<driver name>” p11_slot = “<slot number>” ############################################ ###### 目標記號識別: ###### p11_driver_target = “<driver name>” p11_slot_target = “<slot number>” ############################################ ###### 移動到目標的物件: ###### p11_objects = “<CSV>”- 選用屬性
p11_label = “<string>” p11_class = “<PKCS#11 Object Class>” p11_private = “<boolean>” p11_trusted = “<boolean>” p11_sensitive = “<boolean>” p11_login = “<boolean>” start_gui = “<boolean>”- 範例
[p11km_cmd_move_three_objects] action_name = “MOVE_OBJECTS” p11_slot = “0” p11_slot_target = “1” p11_driver = “AIX” p11_driver_target = “AIX” p11_objects = “15,20,60” p11_login = “FALSE”
- 複製 PKCS #11 物件
- 複製 PKCS #11 物件。物件是根據執行 LIST_OBJECTS 指令以及使用相同範本所得到的編號物件清單來進行複製。小心: 因為在批次處理程序之間不會維護記號狀態及一致性,所以可能會意外複製物件。如果從最初列出物件時到複製物件時之間,針對同一記號所執行的其他處理程序新增或刪除了物件,則會變更物件的列出順序。
- 必要屬性
action_name = “COPY_OBJECTS” p11_driver = “<driver name>” p11_slot = “<slot number>” p11_driver_target = “<driver name>” p11_slot_target = “<slot number>” p11_objects = “<CSV>”- 選用屬性
p11_label = “<string>” p11_class = “<PKCS#11 Object Class>” p11_private = “<boolean>” p11_trusted = “<boolean>” p11_sensitive = “<boolean>” p11_login = “<boolean>” start_gui = “<boolean>”- 範例
[p11km_cmd_copy_one_private_object] action_name = “COPY_OBJECTS” p11_slot = “0” p11_slot_target = “1” p11_driver = “AIX” p11_driver_target = “AIX” p11_objects = “3” p11_login = “TRUE” ## 專用物件 MGT 的必要項目。
- 將 PKCS #11 物件匯出及備份至檔案
- 匯出及備份 PKCS #11 物件。物件是根據執行 LIST_OBJECTS 指令以及使用相同範本所得到的編號物件清單來進行匯出及備份。小心: 因為在批次處理程序之間不會維護記號狀態及一致性,所以可能會意外匯出物件。如果從最初列出物件時到匯出物件時之間,針對同一記號所執行的其他處理程序新增或刪除了物件,則會變更物件的列出順序。
- 必要屬性
action_name = “EXPORT_OBJECTS” p11_driver = “<driver name>” p11_slot = “<slot number>” p11_object_file = “<file name>” p11_objects = “<CSV>”- 選用屬性
p11_label = “<string>” p11_class = “<PKCS#11 Object Class>” p11_private = “<boolean>” p11_trusted = “<boolean>” p11_sensitive = “<boolean>” p11_login = “<boolean>” start_gui = “<boolean>”- 範例
[p11km_cmd_backup_objects] action_name = “EXPORT_OBJECTS” p11_slot = “0” p11_driver = “AIX” p11_objects = “ALL” p11_login = “TRUE” p11_object_file = “/home/user1/p11km.backup”
- 從檔案匯入 PKCS #11 物件
- 從 PKCS #11 匯出檔匯入已建立的 PKCS #11 物件。
- 必要屬性
action_name = “IMPORT_OBJECTS” p11_driver = “<driver name>” p11_slot = “<slot number>” p11_object_file = “<file name>”- 選用屬性
p11_login = “<boolean>” # 匯入任何專用物件的必要項目 start_gui = “<boolean>”- 範例
[p11km_cmd_import_my_backed_up_objects] action_name = “IMPORT_OBJECTS” p11_slot = “0” p11_driver = “AIX” p11_login = “TRUE” p11_object_file = “/home/user1/p11km.backup”
- 建立自簽憑證
- 在 PKCS #11 記號上建立自簽的 X.509 憑證及相關聯的 PKCS #11 物件。
- 必要屬性
action_name = “CREATE_SSC” p11_driver = “<driver name>” p11_slot = “<slot number>” p11_login = “TRUE” p11_ssc_label = “<string>” p11_ssc_config = “<openssl configuration file>”其中 <openssl configuration file> 是 OpenSSL 配置檔的完整 UNIX 路徑及檔名,此配置檔已移入用於建立自簽憑證的值。
- 選用屬性
start_gui = “<boolean>”- 範例
[p11km_cmd_self_signed_certificate] action_name = “CREATE_SSC” p11_slot = “0” p11_driver = “AIX” p11_login = “TRUE” p11_ssc_label = “Lab RADIUS Server” p11_ssc_config = “/etc/radius/EAP-TLS/openssl.cnf”
- 建立 PKCS #10 憑證簽署要求
- 建立 PKCS #10 憑證要求或憑證簽署要求 (CSR)。
- 必要屬性
action_name = “CREATE_CSR” p11_driver = “<driver name>” p11_slot = “<slot number>” p11_login = “TRUE” p11_csr_label = “<string>” p11_csr_file = “<path to CSR output file>” p11_csr_type = “<DER or Base64>' p11_csr_config = “<openssl configuration file>”其中 <DER or Base64> 會產生 ASN.1 (DER) 編碼的 CSR 輸出檔或 Base64 編碼的 CSR 輸出檔,而 <path to CSR output file> 則是指 CSR 輸出的完整 UNIX 路徑及檔名。
- 選用屬性
start_gui = “<boolean>”- 範例
[p11km_cmd_my_pkcs10_base64] action_name = “CREATE_SSC” p11_slot = “0” p11_driver = “AIX” p11_login = “TRUE” p11_csr_label = “Lab RADIUS Server” p11_csr_type = “Base64” p11_csr_file = “/etc/radius/EAP-TLS/certreq.b64” p11_csr_config = “/etc/radius/EAP-TLS/openssl.cnf”
在「PKCS #11 管理」工具 (p11admin) 中有下列批次指令可用。
註: 若要使用批次指令,請執行下列動作:
- 如批次處理所述,建立及編輯批次檔。
- 建立新的 p11km_cmd 區段,其中包含想要使用之批次指令的屬性。
- 列出可用的 PKCS #11 記號
- 針對可用的 PKCS #11 記號,產生報告並顯示記號及介面槽資訊。
- 必要屬性
action_name = “ADM_LIST_TOKENS”- 選用屬性
start_gui = “<boolean>”其中 <boolean> 為
TRUE或FALSE- 範例
[p11admin_cmd_list_tokens] action_name = “ADM_LIST_TOKENS”
- 列出可用的 PKCS #11 機制
- 產生報告並顯示 PKCS #11 記號所支援的可用 PKCS #11 機制 (藉由指定驅動程式及介面槽屬性值來比對)。
- 必要屬性
action_name = “ADM_LIST_MECHANISMS” p11_driver = “<driver name>” p11_slot = “<slot number>”其中 <slot number> 為正整數值,而 <driver name> 為下列其中一個值:值 說明 AIX AIX OS 加密架構 IBM_4758_4960 IBM 4758/4960 加密硬體配接卡 IBM_4764 IBM 4764 加密硬體配接卡 其他 如果指定 OTHER,您還必須指定 p11_driver_path 屬性。 - 選用屬性
start_gui = “<boolean>”- 補充屬性
p11_driver_path = “<path to PKCS#11 driver>”其中 <path to PKCS#11 driver> 是指令所使用 PKCS #11 程式庫的完整 UNIX 路徑及檔名。唯有當 p11_driver 屬性設為
OTHER時,才可以指定此屬性。- 範例
[p11admin_cmd_list_4764_slot_0_mechs] action_name = “ADM_LIST_MECHANISMS” p11_driver = “IBM_4764” p11_slot = “0” start_gui = “TRUE”
- 顯示 PKCS #11 記號的資訊
- 顯示 PKCS #11 記號的 PKCS #11 記號及介面槽資訊。
- 必要屬性
action_name = “ADM_SHOW_TOKEN_INFO” p11_driver = “<driver name>” p11_slot = “<slot number>”- 選用屬性
start_gui = “<boolean>”- 範例
[p11admin_cmd] action_name = “ADM_SHOW_TOKEN_INFO” p11_slot = “411” p11_driver = “IBM_4764”
- 起始設定 PKCS #11 記號:
- 起始設定 PKCS #11 記號。起始設定會重設記號、消除所有已儲存的 PKCS#11 物件及資料,使記號可以重新加上標籤。小心: 因為起始設定處理程序期間會消除所有的 PKCS #11 物件及資料,所以在起始設定 PKCS #11 記號前,請確保不再需要這些物件及資料。
- 必要屬性
action_name = “ADM_INIT_TOKEN” p11_driver = “<driver name>” p11_slot = “<slot number>” ## SAME AS 'p11_init_slot' p11_init_slot = “<slot number>” ## SAME AS 'p11_slot' p11_init_label = “<string>” ## NEW TOKEN LABEL- 選用屬性
start_gui = “<boolean>”- 範例
[p11admin_cmd] action_name = “ADM_INIT_TOKEN” p11_slot = “1” p11_driver = “IBM_4764” p11_init_slot = “1” p11_init_label = “ABC Token”
- 檢視 PKCS #11 記號的時鐘
- 如果 PKCS #11 記號具有時鐘,則顯示該記號的硬體時鐘。
- 必要屬性
action_name = “ADM_CLOCK_VIEW” p11_driver = “<driver name>” p11_slot = “<slot number>”- 選用屬性
start_gui = “<boolean>”- 範例
[p11admin_cmd] action_name = “ADM_CLOCK_VIEW” p11_slot = “1” p11_driver = “IBM_4764”
- 設定 PKCS #11 記號的時鐘
- 如果 PKCS #11 記號具有時鐘,則設定該記號的硬體時鐘。
- 必要屬性
action_name = “ADM_CLOCK_SET” p11_driver = “<driver name>” p11_slot = “<slot number>” p11_clock_set = “<clock data>”其中 <clock data> 為具有下列格式的現行 UTC 日期和時間:HH:MM:SS mm-dd-YYYY。
- 選用屬性
start_gui = “<boolean>”- 範例
[p11admin_cmd] action_name = “ADM_CLOCK_SET” p11_slot = “1” p11_driver = “IBM_4764” p11_clock_set = “23:59:59 12-31-1999”
- 重設 PKCS #11 記號使用者的 PIN
- 重設 PKCS #11 記號使用者的 PIN。
- 必要屬性
action_name = “ADM_RESET_USER_PIN” p11_driver = “<driver name>” p11_slot = “<slot number>”- 選用屬性
start_gui = “<boolean>”- 範例
[p11admin_cmd_change_so_pin] action_name = “ADM_RESET_USER_PIN” p11_driver = “AIX” p11_slot = “0”
- 變更 PKCS #11 記號安全管理者的 PIN
- 變更 PKCS #11 記號安全管理者的 PIN。此 PIN 是在執行記號管理時使用。
- 必要屬性
action_name = “ADM_CHANGE_SO_PIN” p11_driver = “<driver name>” p11_slot = “<slot number>”- 選用屬性
start_gui = “<boolean>”- 範例
[p11admin_cmd_change_so_pin] action_name = “ADM_CHANGE_SO_PIN” p11_slot = “888” p11_driver = “IBM_4764”