diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d634b0d..7569ddc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,14 +11,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Use OCaml uses: ocaml/setup-ocaml@v2 with: - ocaml-compiler: 4.12.0 + ocaml-compiler: 5.0.x - run: opam install . --with-doc --with-test --deps-only - run: opam exec -- dune build @all @runtest - - run: opam install ocamlformat.0.19.0 + - run: opam install ocamlformat.0.24.1 - run: opam exec -- dune build @fmt check-package: strategy: @@ -27,8 +27,8 @@ jobs: os: - ubuntu-latest ocaml-compiler: - - 4.07.0 - - 4.12.0 + - 4.07.x + - 5.0.x package: - pkcs11 - pkcs11-cli @@ -37,8 +37,8 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Checkout code - uses: actions/checkout@v2 - - name: Use OCaml ${{ matrix.ocaml-version }} + uses: actions/checkout@v3 + - name: Use OCaml ${{ matrix.ocaml-compiler }} uses: ocaml/setup-ocaml@v2 with: ocaml-compiler: ${{ matrix.ocaml-compiler }} diff --git a/.ocamlformat b/.ocamlformat index 1d5fcf3..5207d90 100644 --- a/.ocamlformat +++ b/.ocamlformat @@ -1,4 +1,4 @@ -version=0.19.0 +version=0.24.1 break-cases=all break-fun-decl=fit-or-vertical break-fun-sig=fit-or-vertical diff --git a/cli/pkcs11_cli.ml b/cli/pkcs11_cli.ml index ddf44e3..cc7a433 100644 --- a/cli/pkcs11_cli.ml +++ b/cli/pkcs11_cli.ml @@ -70,11 +70,8 @@ end module Term = struct let slot_index = Cmdliner.Arg.value Arg.slot_index - let slot_id = Cmdliner.Arg.value Arg.slot_id - let slot_description = Cmdliner.Arg.value Arg.slot_description - let token_label = Cmdliner.Arg.value Arg.token_label let slot index id descr label = @@ -100,8 +97,6 @@ module Term = struct ret (const slot $ slot_index $ slot_id $ slot_description $ token_label) let pin = Cmdliner.Arg.value Arg.pin - let load_mode = Cmdliner.Arg.value Arg.load_mode - let user_type = Cmdliner.Arg.value Arg.user_type end diff --git a/driver/ctypes_helpers.ml b/driver/ctypes_helpers.ml index 02462e7..d4877f2 100644 --- a/driver/ctypes_helpers.ml +++ b/driver/ctypes_helpers.ml @@ -40,9 +40,7 @@ end = struct Ctypes.setf s f v let setf_direct = setf - let getf = Ctypes.getf - let is_null = Ctypes.is_null end diff --git a/driver/p11_driver.ml b/driver/p11_driver.ml index f634fcc..2c782bb 100644 --- a/driver/p11_driver.ml +++ b/driver/p11_driver.ml @@ -9,44 +9,27 @@ let () = module type S = sig val initialize : unit -> unit - val initialize_nss : params:Pkcs11.Nss_initialize_arg.u -> unit - val finalize : unit -> unit - val get_info : unit -> Info.t - val get_slot : Slot.t -> (Slot_id.t, string) result - val get_slot_list : bool -> Slot_id.t list - val get_slot_info : slot:Slot_id.t -> Slot_info.t - val get_token_info : slot:Slot_id.t -> Token_info.t - val get_mechanism_list : slot:Slot_id.t -> Mechanism_type.t list val get_mechanism_info : slot:Slot_id.t -> Mechanism_type.t -> Mechanism_info.t val init_token : slot:Slot_id.t -> pin:string -> label:string -> unit - val init_PIN : Session_handle.t -> pin:string -> unit - val set_PIN : Session_handle.t -> oldpin:string -> newpin:string -> unit - val open_session : slot:Slot_id.t -> flags:Flags.t -> Session_handle.t - val close_session : Session_handle.t -> unit - val close_all_sessions : slot:Slot_id.t -> unit - val get_session_info : Session_handle.t -> Session_info.t - val login : Session_handle.t -> User_type.t -> string -> unit - val logout : Session_handle.t -> unit - val create_object : Session_handle.t -> Template.t -> Object_handle.t val copy_object : @@ -79,7 +62,6 @@ module type S = sig Session_handle.t -> Mechanism.t -> Object_handle.t -> unit val multipart_encrypt_chunck : Session_handle.t -> Data.t -> Data.t - val multipart_encrypt_final : Session_handle.t -> Data.t val multipart_encrypt : @@ -92,7 +74,6 @@ module type S = sig Session_handle.t -> Mechanism.t -> Object_handle.t -> unit val multipart_decrypt_chunck : Session_handle.t -> Data.t -> Data.t - val multipart_decrypt_final : Session_handle.t -> Data.t val multipart_decrypt : @@ -108,7 +89,6 @@ module type S = sig Session_handle.t -> Mechanism.t -> Object_handle.t -> unit val multipart_sign_chunck : Session_handle.t -> Data.t -> unit - val multipart_sign_final : Session_handle.t -> Data.t val multipart_sign : @@ -133,7 +113,6 @@ module type S = sig Session_handle.t -> Mechanism.t -> Object_handle.t -> unit val multipart_verify_chunck : Session_handle.t -> Data.t -> unit - val multipart_verify_final : Session_handle.t -> Data.t -> unit val multipart_verify : @@ -186,7 +165,6 @@ module Wrap_low_level_bindings (X : Pkcs11.LOW_LEVEL_BINDINGS) = struct type 'a t = 'a let return x = x - let ( >>= ) x f = f x let check_ckr rv x = @@ -741,114 +719,62 @@ end type t = (module S) let initialize (module S : S) = S.initialize () - let initialize_nss (module S : S) = S.initialize_nss - let finalize (module S : S) = S.finalize () - let get_info (module S : S) = S.get_info () - let get_slot (module S : S) = S.get_slot - let get_slot_list (module S : S) = S.get_slot_list - let get_slot_info (module S : S) = S.get_slot_info - let get_token_info (module S : S) = S.get_token_info - let get_mechanism_list (module S : S) = S.get_mechanism_list - let get_mechanism_info (module S : S) = S.get_mechanism_info - let init_token (module S : S) = S.init_token - let init_PIN (module S : S) = S.init_PIN - let set_PIN (module S : S) = S.set_PIN - let open_session (module S : S) = S.open_session - let close_session (module S : S) = S.close_session - let close_all_sessions (module S : S) = S.close_all_sessions - let get_session_info (module S : S) = S.get_session_info - let login (module S : S) = S.login - let logout (module S : S) = S.logout - let create_object (module S : S) = S.create_object - let copy_object (module S : S) = S.copy_object - let destroy_object (module S : S) = S.destroy_object - let get_attribute_value (module S : S) = S.get_attribute_value - let get_attribute_value' (module S : S) = S.get_attribute_value' let get_attribute_value_optimized (module S : S) = S.get_attribute_value_optimized let set_attribute_value (module S : S) = S.set_attribute_value - let find_objects (module S : S) = S.find_objects - let encrypt (module S : S) = S.encrypt - let multipart_encrypt_init (module S : S) = S.multipart_encrypt_init - let multipart_encrypt_chunck (module S : S) = S.multipart_encrypt_chunck - let multipart_encrypt_final (module S : S) = S.multipart_encrypt_final - let multipart_encrypt (module S : S) = S.multipart_encrypt - let decrypt (module S : S) = S.decrypt - let multipart_decrypt_init (module S : S) = S.multipart_decrypt_init - let multipart_decrypt_chunck (module S : S) = S.multipart_decrypt_chunck - let multipart_decrypt_final (module S : S) = S.multipart_decrypt_final - let multipart_decrypt (module S : S) = S.multipart_decrypt - let sign (module S : S) = S.sign - let sign_recover (module S : S) = S.sign_recover - let multipart_sign_init (module S : S) = S.multipart_sign_init - let multipart_sign_chunck (module S : S) = S.multipart_sign_chunck - let multipart_sign_final (module S : S) = S.multipart_sign_final - let multipart_sign (module S : S) = S.multipart_sign - let verify (module S : S) = S.verify - let verify_recover (module S : S) = S.verify_recover - let multipart_verify_init (module S : S) = S.multipart_verify_init - let multipart_verify_chunck (module S : S) = S.multipart_verify_chunck - let multipart_verify_final (module S : S) = S.multipart_verify_final - let multipart_verify (module S : S) = S.multipart_verify - let generate_key (module S : S) = S.generate_key - let generate_key_pair (module S : S) = S.generate_key_pair - let wrap_key (module S : S) = S.wrap_key - let unwrap_key (module S : S) = S.unwrap_key - let derive_key (module S : S) = S.derive_key - let digest (module S : S) = S.digest let load_driver ?log_calls ?on_unknown ?load_mode dll = diff --git a/driver/p11_driver.mli b/driver/p11_driver.mli index dcafd62..421713d 100644 --- a/driver/p11_driver.mli +++ b/driver/p11_driver.mli @@ -10,44 +10,27 @@ exception CKR of RV.t handled automatically. *) module type S = sig val initialize : unit -> unit - val initialize_nss : params:Pkcs11.Nss_initialize_arg.u -> unit - val finalize : unit -> unit - val get_info : unit -> Info.t - val get_slot : Slot.t -> (Slot_id.t, string) result - val get_slot_list : bool -> Slot_id.t list - val get_slot_info : slot:Slot_id.t -> Slot_info.t - val get_token_info : slot:Slot_id.t -> Token_info.t - val get_mechanism_list : slot:Slot_id.t -> Mechanism_type.t list val get_mechanism_info : slot:Slot_id.t -> Mechanism_type.t -> Mechanism_info.t val init_token : slot:Slot_id.t -> pin:string -> label:string -> unit - val init_PIN : Session_handle.t -> pin:string -> unit - val set_PIN : Session_handle.t -> oldpin:string -> newpin:string -> unit - val open_session : slot:Slot_id.t -> flags:Flags.t -> Session_handle.t - val close_session : Session_handle.t -> unit - val close_all_sessions : slot:Slot_id.t -> unit - val get_session_info : Session_handle.t -> Session_info.t - val login : Session_handle.t -> User_type.t -> string -> unit - val logout : Session_handle.t -> unit - val create_object : Session_handle.t -> Template.t -> Object_handle.t val copy_object : @@ -82,7 +65,6 @@ module type S = sig Session_handle.t -> Mechanism.t -> Object_handle.t -> unit val multipart_encrypt_chunck : Session_handle.t -> Data.t -> Data.t - val multipart_encrypt_final : Session_handle.t -> Data.t val multipart_encrypt : @@ -95,7 +77,6 @@ module type S = sig Session_handle.t -> Mechanism.t -> Object_handle.t -> unit val multipart_decrypt_chunck : Session_handle.t -> Data.t -> Data.t - val multipart_decrypt_final : Session_handle.t -> Data.t val multipart_decrypt : @@ -111,7 +92,6 @@ module type S = sig Session_handle.t -> Mechanism.t -> Object_handle.t -> unit val multipart_sign_chunck : Session_handle.t -> Data.t -> unit - val multipart_sign_final : Session_handle.t -> Data.t val multipart_sign : @@ -136,7 +116,6 @@ module type S = sig Session_handle.t -> Mechanism.t -> Object_handle.t -> unit val multipart_verify_chunck : Session_handle.t -> Data.t -> unit - val multipart_verify_final : Session_handle.t -> Data.t -> unit val multipart_verify : @@ -191,40 +170,25 @@ val initialize_nss : t -> params:Pkcs11.Nss_initialize_arg.u -> unit at https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/PKCS11/Module_Specs *) val finalize : t -> unit - val get_info : t -> Info.t - val get_slot : t -> Slot.t -> (Slot_id.t, string) result - val get_slot_list : t -> bool -> Slot_id.t list - val get_slot_info : t -> slot:Slot_id.t -> Slot_info.t - val get_token_info : t -> slot:Slot_id.t -> Token_info.t - val get_mechanism_list : t -> slot:Slot_id.t -> Mechanism_type.t list val get_mechanism_info : t -> slot:Slot_id.t -> Mechanism_type.t -> Mechanism_info.t val init_token : t -> slot:Slot_id.t -> pin:string -> label:string -> unit - val init_PIN : t -> Session_handle.t -> pin:string -> unit - val set_PIN : t -> Session_handle.t -> oldpin:string -> newpin:string -> unit - val open_session : t -> slot:Slot_id.t -> flags:Flags.t -> Session_handle.t - val close_session : t -> Session_handle.t -> unit - val close_all_sessions : t -> slot:Slot_id.t -> unit - val get_session_info : t -> Session_handle.t -> Session_info.t - val login : t -> Session_handle.t -> User_type.t -> string -> unit - val logout : t -> Session_handle.t -> unit - val create_object : t -> Session_handle.t -> Template.t -> Object_handle.t val copy_object : @@ -256,7 +220,6 @@ val multipart_encrypt_init : t -> Session_handle.t -> Mechanism.t -> Object_handle.t -> unit val multipart_encrypt_chunck : t -> Session_handle.t -> Data.t -> Data.t - val multipart_encrypt_final : t -> Session_handle.t -> Data.t val multipart_encrypt : @@ -274,7 +237,6 @@ val multipart_decrypt_init : t -> Session_handle.t -> Mechanism.t -> Object_handle.t -> unit val multipart_decrypt_chunck : t -> Session_handle.t -> Data.t -> Data.t - val multipart_decrypt_final : t -> Session_handle.t -> Data.t val multipart_decrypt : @@ -295,7 +257,6 @@ val multipart_sign_init : t -> Session_handle.t -> Mechanism.t -> Object_handle.t -> unit val multipart_sign_chunck : t -> Session_handle.t -> Data.t -> unit - val multipart_sign_final : t -> Session_handle.t -> Data.t val multipart_sign : @@ -327,7 +288,6 @@ val multipart_verify_init : t -> Session_handle.t -> Mechanism.t -> Object_handle.t -> unit val multipart_verify_chunck : t -> Session_handle.t -> Data.t -> unit - val multipart_verify_final : t -> Session_handle.t -> Data.t -> unit val multipart_verify : diff --git a/driver/pkcs11.ml b/driver/pkcs11.ml index 3d04426..30977cf 100644 --- a/driver/pkcs11.ml +++ b/driver/pkcs11.ml @@ -48,17 +48,11 @@ include Pkcs11_types bindings and the indirect style bindings have the same interface. *) module type LOW_LEVEL_BINDINGS = sig val c_GetFunctionList : CK_FUNCTION_LIST.t ptr ptr -> CK_RV.t - val c_Initialize : CK_VOID.t ptr -> CK_RV.t - val c_Finalize : CK_VOID.t ptr -> CK_RV.t - val c_GetInfo : CK_INFO.t ptr -> CK_RV.t - val c_GetTokenInfo : CK_SLOT_ID.t -> CK_TOKEN_INFO.t ptr -> CK_RV.t - val c_GetSlotList : CK_BYTE.t -> CK_SLOT_ID.t ptr -> CK_ULONG.t ptr -> CK_RV.t - val c_GetSlotInfo : CK_SLOT_ID.t -> CK_SLOT_INFO.t ptr -> CK_RV.t val c_GetMechanismList : @@ -94,9 +88,7 @@ module type LOW_LEVEL_BINDINGS = sig -> CK_RV.t val c_CloseSession : CK_SESSION_HANDLE.t -> CK_RV.t - val c_CloseAllSessions : CK_SLOT_ID.t -> CK_RV.t - val c_GetSessionInfo : CK_SESSION_HANDLE.t -> CK_SESSION_INFO.t ptr -> CK_RV.t val c_GetOperationState : @@ -370,7 +362,6 @@ module type LOW_LEVEL_BINDINGS = sig CK_SESSION_HANDLE.t -> CK_BYTE.t ptr -> CK_ULONG.t -> CK_RV.t val c_GetFunctionStatus : CK_SESSION_HANDLE.t -> CK_RV.t - val c_CancelFunction : CK_SESSION_HANDLE.t -> CK_RV.t val c_WaitForSlotEvent : @@ -397,18 +388,14 @@ end) : LOW_LEVEL_BINDINGS = struct module S = CK.Function_list let c_GetFunctionList = D.c_GetFunctionList - let c_Initialize = declare "C_Initialize" S.c_Initialize CK.T.c_Initialize - let c_Finalize = declare "C_Finalize" S.c_Finalize CK.T.c_Finalize - let c_GetInfo = declare "C_GetInfo" S.c_GetInfo CK.T.c_GetInfo let c_GetTokenInfo = declare "C_GetTokenInfo" S.c_GetTokenInfo CK.T.c_GetTokenInfo let c_GetSlotList = declare "C_GetSlotList" S.c_GetSlotList CK.T.c_GetSlotList - let c_GetSlotInfo = declare "C_GetSlotInfo" S.c_GetSlotInfo CK.T.c_GetSlotInfo let c_GetMechanismList = @@ -418,9 +405,7 @@ end) : LOW_LEVEL_BINDINGS = struct declare "C_GetMechanismInfo" S.c_GetMechanismInfo CK.T.c_GetMechanismInfo let c_InitToken = declare "C_InitToken" S.c_InitToken CK.T.c_InitToken - let c_InitPIN = declare "C_InitPIN" S.c_InitPIN CK.T.c_InitPIN - let c_SetPIN = declare "C_SetPIN" S.c_SetPIN CK.T.c_SetPIN (******************************************************************************) @@ -445,7 +430,6 @@ end) : LOW_LEVEL_BINDINGS = struct declare "C_SetOperationState" S.c_SetOperationState CK.T.c_SetOperationState let c_Login = declare "C_Login" S.c_Login CK.T.c_Login - let c_Logout = declare "C_Logout" S.c_Logout CK.T.c_Logout (******************************************************************************) @@ -482,7 +466,6 @@ end) : LOW_LEVEL_BINDINGS = struct (******************************************************************************) let c_EncryptInit = declare "C_EncryptInit" S.c_EncryptInit CK.T.c_EncryptInit - let c_Encrypt = declare "C_Encrypt" S.c_Encrypt CK.T.c_Encrypt let c_EncryptUpdate = @@ -492,7 +475,6 @@ end) : LOW_LEVEL_BINDINGS = struct declare "C_EncryptFinal" S.c_EncryptFinal CK.T.c_EncryptFinal let c_DecryptInit = declare "C_DecryptInit" S.c_DecryptInit CK.T.c_DecryptInit - let c_Decrypt = declare "C_Decrypt" S.c_Decrypt CK.T.c_Decrypt let c_DecryptUpdate = @@ -506,14 +488,12 @@ end) : LOW_LEVEL_BINDINGS = struct (******************************************************************************) let c_DigestInit = declare "C_DigestInit" S.c_DigestInit CK.T.c_DigestInit - let c_Digest = declare "C_Digest" S.c_Digest CK.T.c_Digest let c_DigestUpdate = declare "C_DigestUpdate" S.c_DigestUpdate CK.T.c_DigestUpdate let c_DigestKey = declare "C_DigestKey" S.c_DigestKey CK.T.c_DigestKey - let c_DigestFinal = declare "C_DigestFinal" S.c_DigestFinal CK.T.c_DigestFinal (******************************************************************************) @@ -521,20 +501,15 @@ end) : LOW_LEVEL_BINDINGS = struct (******************************************************************************) let c_SignInit = declare "C_SignInit" S.c_SignInit CK.T.c_SignInit - let c_Sign = declare "C_Sign" S.c_Sign CK.T.c_Sign - let c_SignUpdate = declare "C_SignUpdate" S.c_SignUpdate CK.T.c_SignUpdate - let c_SignFinal = declare "C_SignFinal" S.c_SignFinal CK.T.c_SignFinal let c_SignRecoverInit = declare "C_SignRecoverInit" S.c_SignRecoverInit CK.T.c_SignRecoverInit let c_SignRecover = declare "C_SignRecover" S.c_SignRecover CK.T.c_SignRecover - let c_VerifyInit = declare "C_VerifyInit" S.c_VerifyInit CK.T.c_VerifyInit - let c_Verify = declare "C_Verify" S.c_Verify CK.T.c_Verify let c_VerifyUpdate = @@ -573,11 +548,8 @@ end) : LOW_LEVEL_BINDINGS = struct declare "C_GenerateKeyPair" S.c_GenerateKeyPair CK.T.c_GenerateKeyPair let c_WrapKey = declare "C_WrapKey" S.c_WrapKey CK.T.c_WrapKey - let c_UnwrapKey = declare "C_UnwrapKey" S.c_UnwrapKey CK.T.c_UnwrapKey - let c_DeriveKey = declare "C_DeriveKey" S.c_DeriveKey CK.T.c_DeriveKey - let c_SeedRandom = declare "C_SeedRandom" S.c_SeedRandom CK.T.c_SeedRandom let c_GenerateRandom = @@ -595,7 +567,6 @@ end module type CONFIG = sig val log_calls : (string * Format.formatter) option - val library : Dl.library end @@ -709,7 +680,6 @@ module Fake (X : sig end) : LOW_LEVEL_BINDINGS = struct return let nimplem = CK_RV._CKR_FUNCTION_NOT_SUPPORTED - let declare _field typ = return nimplem typ let c_GetFunctionList = @@ -735,9 +705,7 @@ end module type LOW_LEVEL_WRAPPER = sig val c_Initialize : Nss_initialize_arg.t option -> CK_RV.t - val c_Finalize : unit -> CK_RV.t - val c_GetInfo : unit -> CK_RV.t * P11_info.t (* 03/24/2015: At the moment, we do not need to use GetFunctionList @@ -746,18 +714,14 @@ module type LOW_LEVEL_WRAPPER = sig it. *) (* val c_GetFunctionList : unit -> CK_RV.t * CK_FUNCTION_LIST.t *) val c_GetSlotList : bool -> Slot_list.t -> CK_RV.t - val c_GetSlotInfo : slot:CK_SLOT_ID.t -> CK_RV.t * P11_slot_info.t - val c_GetTokenInfo : slot:CK_SLOT_ID.t -> CK_RV.t * P11_token_info.t - val c_GetMechanismList : slot:CK_SLOT_ID.t -> Mechanism_list.t -> CK_RV.t val c_GetMechanismInfo : slot:CK_SLOT_ID.t -> CK_MECHANISM_TYPE.t -> CK_RV.t * P11_mechanism_info.t val c_InitToken : slot:CK_SLOT_ID.t -> pin:string -> label:string -> CK_RV.t - val c_InitPIN : CK_SESSION_HANDLE.t -> string -> CK_RV.t val c_SetPIN : @@ -767,15 +731,12 @@ module type LOW_LEVEL_WRAPPER = sig slot:CK_SLOT_ID.t -> flags:CK_FLAGS.t -> CK_RV.t * CK_SESSION_HANDLE.t val c_CloseSession : CK_SESSION_HANDLE.t -> CK_RV.t - val c_CloseAllSessions : slot:CK_SLOT_ID.t -> CK_RV.t - val c_GetSessionInfo : CK_SESSION_HANDLE.t -> CK_RV.t * P11_session_info.t (* val c_GetOperation_state *) (* val c_SetOperation_state *) val c_Login : CK_SESSION_HANDLE.t -> CK_USER_TYPE.t -> string -> CK_RV.t - val c_Logout : CK_SESSION_HANDLE.t -> CK_RV.t val c_CreateObject : @@ -807,37 +768,26 @@ module type LOW_LEVEL_WRAPPER = sig CK_SESSION_HANDLE.t -> CK_MECHANISM.t -> CK_OBJECT_HANDLE.t -> CK_RV.t val c_Encrypt : CK_SESSION_HANDLE.t -> src:Data.t -> tgt:Data.t -> CK_RV.t - val c_EncryptUpdate : CK_SESSION_HANDLE.t -> Data.t -> Data.t -> CK_RV.t - val c_EncryptFinal : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t val c_DecryptInit : CK_SESSION_HANDLE.t -> CK_MECHANISM.t -> CK_OBJECT_HANDLE.t -> CK_RV.t val c_Decrypt : CK_SESSION_HANDLE.t -> src:Data.t -> tgt:Data.t -> CK_RV.t - val c_DecryptUpdate : CK_SESSION_HANDLE.t -> Data.t -> Data.t -> CK_RV.t - val c_DecryptFinal : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t - val c_DigestInit : CK_SESSION_HANDLE.t -> CK_MECHANISM.t -> CK_RV.t - val c_Digest : CK_SESSION_HANDLE.t -> Data.t -> Data.t -> CK_RV.t - val c_DigestUpdate : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t - val c_DigestKey : CK_SESSION_HANDLE.t -> CK_OBJECT_HANDLE.t -> CK_RV.t - val c_DigestFinal : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t val c_SignInit : CK_SESSION_HANDLE.t -> CK_MECHANISM.t -> CK_OBJECT_HANDLE.t -> CK_RV.t val c_Sign : CK_SESSION_HANDLE.t -> src:Data.t -> tgt:Data.t -> CK_RV.t - val c_SignUpdate : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t - val c_SignFinal : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t val c_SignRecoverInit : @@ -852,7 +802,6 @@ module type LOW_LEVEL_WRAPPER = sig CK_SESSION_HANDLE.t -> signed:Data.t -> signature:Data.t -> CK_RV.t val c_VerifyUpdate : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t - val c_VerifyFinal : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t val c_VerifyRecoverInit : @@ -1422,7 +1371,6 @@ let load_driver else let module M : CONFIG = struct let log_calls = log_calls - let library = Dl.dlopen ~filename ~flags:[Dl.RTLD_LAZY] end in match load_mode with diff --git a/driver/pkcs11.mli b/driver/pkcs11.mli index 3ada6e9..89ab45e 100644 --- a/driver/pkcs11.mli +++ b/driver/pkcs11.mli @@ -38,8 +38,10 @@ module CK_DES_CBC_ENCRYPT_DATA_PARAMS = module CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE = Pkcs11_CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE + module CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE = Pkcs11_CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE + module CK_PKCS5_PBKD2_PARAMS = Pkcs11_CK_PKCS5_PBKD2_PARAMS module CK_EC_KDF_TYPE = Pkcs11_CK_EC_KDF_TYPE module CK_ECDH1_DERIVE_PARAMS = Pkcs11_CK_ECDH1_DERIVE_PARAMS @@ -63,21 +65,17 @@ module CK_GCM_PARAMS = Pkcs11_CK_GCM_PARAMS module Initialize_arg : sig type _ck_c_initialize_args - type t = _ck_c_initialize_args Ctypes.structure val flags : (CK_FLAGS.t, t) Ctypes.field - val t : t Ctypes.typ end module Nss_initialize_arg : sig type _ck_nss_c_initialize_args - type t = _ck_nss_c_initialize_args Ctypes.structure val flags : (CK_FLAGS.t, t) Ctypes.field - val t : t Ctypes.typ (** Only support setting LibraryParameters from the uninitialized type. The format for @@ -89,7 +87,6 @@ module Nss_initialize_arg : sig end type _ck_function_list - type ck_function_list = _ck_function_list Ctypes.structure val ck_function_list : ck_function_list Ctypes.typ @@ -98,20 +95,16 @@ module CK_NOTIFY : sig open Ctypes type u - type t = u ptr val u : u typ - val t : t typ end module CK : sig module T : sig val c_Initialize : (unit Ctypes.ptr -> CK_RV.t) Ctypes.fn - val c_Finalize : (unit Ctypes.ptr -> CK_RV.t) Ctypes.fn - val c_GetInfo : (CK_INFO.t Ctypes.ptr -> CK_RV.t) Ctypes.fn val c_GetFunctionList : @@ -178,7 +171,6 @@ module CK : sig Ctypes.fn val c_CloseSession : (CK_SESSION_HANDLE.t -> CK_RV.t) Ctypes.fn - val c_CloseAllSessions : (CK_SLOT_ID.t -> CK_RV.t) Ctypes.fn val c_GetSessionInfo : @@ -541,7 +533,6 @@ module CK : sig Ctypes.fn val c_GetFunctionStatus : (CK_SESSION_HANDLE.t -> CK_RV.t) Ctypes.fn - val c_CancelFunction : (CK_SESSION_HANDLE.t -> CK_RV.t) Ctypes.fn val c_WaitForSlotEvent : @@ -553,11 +544,8 @@ module CK : sig type t = (_ck_function_list, [`Struct]) Ctypes.structured val version : (CK_VERSION.t, t) Ctypes.field - val c_Initialize : (unit Ctypes.ptr -> CK_RV.t, t) Ctypes.field - val c_Finalize : (unit Ctypes.ptr -> CK_RV.t, t) Ctypes.field - val c_GetInfo : (CK_INFO.t Ctypes.ptr -> CK_RV.t, t) Ctypes.field val c_GetFunction_list : @@ -631,7 +619,6 @@ module CK : sig Ctypes.field val c_CloseSession : (CK_SESSION_HANDLE.t -> CK_RV.t, t) Ctypes.field - val c_CloseAllSessions : (CK_SLOT_ID.t -> CK_RV.t, t) Ctypes.field val c_GetSessionInfo : @@ -1042,7 +1029,6 @@ module CK : sig Ctypes.field val c_GetFunctionStatus : (CK_SESSION_HANDLE.t -> CK_RV.t, t) Ctypes.field - val c_CancelFunction : (CK_SESSION_HANDLE.t -> CK_RV.t, t) Ctypes.field val c_WaitForSlotEvent : @@ -1064,13 +1050,9 @@ module type LOW_LEVEL_BINDINGS = sig open Ctypes val c_GetFunctionList : CK_FUNCTION_LIST.t ptr ptr -> CK_RV.t - val c_Initialize : CK_VOID.t ptr -> CK_RV.t - val c_Finalize : CK_VOID.t ptr -> CK_RV.t - val c_GetInfo : CK_INFO.t ptr -> CK_RV.t - val c_GetTokenInfo : CK_SLOT_ID.t -> CK_TOKEN_INFO.t ptr -> CK_RV.t val c_GetSlotList : @@ -1111,9 +1093,7 @@ module type LOW_LEVEL_BINDINGS = sig -> CK_RV.t val c_CloseSession : CK_SESSION_HANDLE.t -> CK_RV.t - val c_CloseAllSessions : CK_SLOT_ID.t -> CK_RV.t - val c_GetSessionInfo : CK_SESSION_HANDLE.t -> CK_SESSION_INFO.t ptr -> CK_RV.t val c_GetOperationState : @@ -1387,7 +1367,6 @@ module type LOW_LEVEL_BINDINGS = sig CK_SESSION_HANDLE.t -> CK_BYTE.t ptr -> CK_ULONG.t -> CK_RV.t val c_GetFunctionStatus : CK_SESSION_HANDLE.t -> CK_RV.t - val c_CancelFunction : CK_SESSION_HANDLE.t -> CK_RV.t val c_WaitForSlotEvent : @@ -1396,7 +1375,6 @@ end module type CONFIG = sig val log_calls : (string * Format.formatter) option - val library : Dl.library end @@ -1413,25 +1391,19 @@ module Fake (X : sig end) : LOW_LEVEL_BINDINGS have to. *) module type LOW_LEVEL_WRAPPER = sig val c_Initialize : Nss_initialize_arg.t option -> CK_RV.t - val c_Finalize : unit -> CK_RV.t - val c_GetInfo : unit -> CK_RV.t * P11_info.t (* val c_GetFunctionList : unit -> CK_RV.t * CK_FUNCTION_LIST.t *) val c_GetSlotList : bool -> Slot_list.t -> CK_RV.t - val c_GetSlotInfo : slot:CK_SLOT_ID.t -> CK_RV.t * P11_slot_info.t - val c_GetTokenInfo : slot:CK_SLOT_ID.t -> CK_RV.t * P11_token_info.t - val c_GetMechanismList : slot:CK_SLOT_ID.t -> Mechanism_list.t -> CK_RV.t val c_GetMechanismInfo : slot:CK_SLOT_ID.t -> CK_MECHANISM_TYPE.t -> CK_RV.t * P11_mechanism_info.t val c_InitToken : slot:CK_SLOT_ID.t -> pin:string -> label:string -> CK_RV.t - val c_InitPIN : CK_SESSION_HANDLE.t -> string -> CK_RV.t val c_SetPIN : @@ -1441,15 +1413,12 @@ module type LOW_LEVEL_WRAPPER = sig slot:CK_SLOT_ID.t -> flags:CK_FLAGS.t -> CK_RV.t * CK_SESSION_HANDLE.t val c_CloseSession : CK_SESSION_HANDLE.t -> CK_RV.t - val c_CloseAllSessions : slot:CK_SLOT_ID.t -> CK_RV.t - val c_GetSessionInfo : CK_SESSION_HANDLE.t -> CK_RV.t * P11_session_info.t (* val c_GetOperation_state *) (* val c_SetOperation_state *) val c_Login : CK_SESSION_HANDLE.t -> CK_USER_TYPE.t -> string -> CK_RV.t - val c_Logout : CK_SESSION_HANDLE.t -> CK_RV.t val c_CreateObject : @@ -1481,37 +1450,26 @@ module type LOW_LEVEL_WRAPPER = sig CK_SESSION_HANDLE.t -> CK_MECHANISM.t -> CK_OBJECT_HANDLE.t -> CK_RV.t val c_Encrypt : CK_SESSION_HANDLE.t -> src:Data.t -> tgt:Data.t -> CK_RV.t - val c_EncryptUpdate : CK_SESSION_HANDLE.t -> Data.t -> Data.t -> CK_RV.t - val c_EncryptFinal : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t val c_DecryptInit : CK_SESSION_HANDLE.t -> CK_MECHANISM.t -> CK_OBJECT_HANDLE.t -> CK_RV.t val c_Decrypt : CK_SESSION_HANDLE.t -> src:Data.t -> tgt:Data.t -> CK_RV.t - val c_DecryptUpdate : CK_SESSION_HANDLE.t -> Data.t -> Data.t -> CK_RV.t - val c_DecryptFinal : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t - val c_DigestInit : CK_SESSION_HANDLE.t -> CK_MECHANISM.t -> CK_RV.t - val c_Digest : CK_SESSION_HANDLE.t -> Data.t -> Data.t -> CK_RV.t - val c_DigestUpdate : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t - val c_DigestKey : CK_SESSION_HANDLE.t -> CK_OBJECT_HANDLE.t -> CK_RV.t - val c_DigestFinal : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t val c_SignInit : CK_SESSION_HANDLE.t -> CK_MECHANISM.t -> CK_OBJECT_HANDLE.t -> CK_RV.t val c_Sign : CK_SESSION_HANDLE.t -> src:Data.t -> tgt:Data.t -> CK_RV.t - val c_SignUpdate : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t - val c_SignFinal : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t val c_SignRecoverInit : @@ -1526,7 +1484,6 @@ module type LOW_LEVEL_WRAPPER = sig CK_SESSION_HANDLE.t -> signed:Data.t -> signature:Data.t -> CK_RV.t val c_VerifyUpdate : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t - val c_VerifyFinal : CK_SESSION_HANDLE.t -> Data.t -> CK_RV.t val c_VerifyRecoverInit : diff --git a/driver/pkcs11_CBC_ENCRYPT_DATA_PARAMS.ml b/driver/pkcs11_CBC_ENCRYPT_DATA_PARAMS.ml index 3eb3105..820fc9f 100644 --- a/driver/pkcs11_CBC_ENCRYPT_DATA_PARAMS.ml +++ b/driver/pkcs11_CBC_ENCRYPT_DATA_PARAMS.ml @@ -12,27 +12,19 @@ end module type PARAM = sig val name : string - val size : int end module Make (Param : PARAM) (Higher : HIGHER) = struct type _t - type t = _t structure let t : t typ = structure Param.name - let iv_size = Param.size - let ( -: ) typ label = smart_field t label typ - let iv = array iv_size Pkcs11_CK_BYTE.typ -: "iv" - let pData = Reachable_ptr.typ Pkcs11_CK_BYTE.typ -: "pData" - let length = ulong -: "length" - let () = seal t let make u = @@ -60,7 +52,6 @@ module CK_DES_CBC_ENCRYPT_DATA_PARAMS = Make (struct let name = "CK_DES_CBC_ENCRYPT_DATA_PARAMS" - let size = 8 end) (P11_des_cbc_encrypt_data_params) @@ -69,7 +60,6 @@ module CK_AES_CBC_ENCRYPT_DATA_PARAMS = Make (struct let name = "CK_AES_CBC_ENCRYPT_DATA_PARAMS" - let size = 16 end) (P11_aes_cbc_encrypt_data_params) diff --git a/driver/pkcs11_CK_AES_CTR_PARAMS.ml b/driver/pkcs11_CK_AES_CTR_PARAMS.ml index c2d7028..9894cc0 100644 --- a/driver/pkcs11_CK_AES_CTR_PARAMS.ml +++ b/driver/pkcs11_CK_AES_CTR_PARAMS.ml @@ -1,13 +1,9 @@ type s - type t = s Ctypes.structure let t : t Ctypes.typ = Ctypes.structure "CK_AES_CTR_PARAMS" - let bits = Ctypes_helpers.smart_field t "bits" Ctypes.ulong - let block = Ctypes_helpers.smart_field t "block" (Ctypes.array 16 Ctypes.char) - let () = Ctypes.seal t let make u = diff --git a/driver/pkcs11_CK_AES_CTR_PARAMS.mli b/driver/pkcs11_CK_AES_CTR_PARAMS.mli index a80c773..d7ed77f 100644 --- a/driver/pkcs11_CK_AES_CTR_PARAMS.mli +++ b/driver/pkcs11_CK_AES_CTR_PARAMS.mli @@ -1,15 +1,10 @@ (** Parameter for [CKM_AES_CTR]. ([CK_AES_CTR_PARAMS]) *) type s - type t = s Ctypes.structure val t : t Ctypes.typ - val bits : (Unsigned.ULong.t, t) Ctypes.field - val block : (char Ctypes.carray, t) Ctypes.field - val make : P11_aes_ctr_params.t -> t - val view : t -> P11_aes_ctr_params.t diff --git a/driver/pkcs11_CK_ATTRIBUTE.ml b/driver/pkcs11_CK_ATTRIBUTE.ml index 8164848..abed9b8 100644 --- a/driver/pkcs11_CK_ATTRIBUTE.ml +++ b/driver/pkcs11_CK_ATTRIBUTE.ml @@ -32,19 +32,13 @@ open Ctypes open Ctypes_helpers type _t - type t = _t structure let ck_attribute : _t structure typ = structure "CK_ATTRIBUTE" - let ( -: ) ty label = smart_field ck_attribute label ty - let _type = Pkcs11_CK_ATTRIBUTE_TYPE.typ -: "type" - let pValue = Reachable_ptr.typ void -: "pValue" - let ulValueLen = ulong -: "ulValueLen" - let () = seal ck_attribute type 'a u = 'a P11_attribute_type.t * 'a @@ -69,11 +63,8 @@ let allocate (t : t) : unit = () let get_type t = getf t _type - let get_length t = Unsigned.ULong.to_int (getf t ulValueLen) - let pvalue_is_null_ptr t = is_null (Reachable_ptr.getf t pValue) - let unsafe_get_value typ t = from_voidp typ (Reachable_ptr.getf t pValue) let ck_true : Pkcs11_CK_BBOOL.t ptr = @@ -147,7 +138,6 @@ let unsafe_get_ulong t = !@p let unsafe_get_object_class : t -> Pkcs11_CK_OBJECT_CLASS.t = unsafe_get_ulong - let unsafe_get_key_type : t -> Pkcs11_CK_KEY_TYPE.t = unsafe_get_ulong let repr_view (type a) t : a P11_attribute.repr -> a = @@ -191,15 +181,9 @@ let make (type s) ((at, param) : s u) = repr_make (Pkcs11_CK_ATTRIBUTE_TYPE.make at) param (P11_attribute.repr at) let make_pack (P11_attribute.Pack x) = make x - let compare_types = P11_attribute.compare_types - let compare_types_pack = P11_attribute.compare_types_pack - let compare = P11_attribute.compare - let compare_pack = P11_attribute.compare_pack - let equal = P11_attribute.equal - let equal_pack = P11_attribute.equal_pack diff --git a/driver/pkcs11_CK_ATTRIBUTE.mli b/driver/pkcs11_CK_ATTRIBUTE.mli index 4047641..e1eea43 100644 --- a/driver/pkcs11_CK_ATTRIBUTE.mli +++ b/driver/pkcs11_CK_ATTRIBUTE.mli @@ -2,59 +2,32 @@ type _t type t = _t Ctypes.structure - type 'a u = 'a P11_attribute_type.t * 'a val boolean : Pkcs11_CK_ATTRIBUTE_TYPE.t -> bool -> t - val byte : Pkcs11_CK_ATTRIBUTE_TYPE.t -> int -> t - val ulong : Pkcs11_CK_ATTRIBUTE_TYPE.t -> P11_ulong.t -> t - val string : Pkcs11_CK_ATTRIBUTE_TYPE.t -> string -> t - val bigint : Pkcs11_CK_ATTRIBUTE_TYPE.t -> P11_bigint.t -> t - val create : Pkcs11_CK_ATTRIBUTE_TYPE.t -> t - val allocate : t -> unit - val get_type : t -> Pkcs11_CK_ATTRIBUTE_TYPE.t - val get_length : t -> int - val pvalue_is_null_ptr : t -> bool - val unsafe_get_bool : t -> bool - val unsafe_get_string : t -> string - val unsafe_get_byte : t -> int - val unsafe_get_ulong : t -> P11_ulong.t - val unsafe_get_object_class : t -> Pkcs11_CK_OBJECT_CLASS.t - val unsafe_get_key_type : t -> Pkcs11_CK_KEY_TYPE.t - val view : t -> P11_attribute.pack - val make : 'a u -> t - val make_pack : P11_attribute.pack -> t - val compare : 'a u -> 'b u -> int - val equal : 'a u -> 'b u -> bool - val equal_pack : P11_attribute.pack -> P11_attribute.pack -> bool - val compare_types : 'a u -> 'b u -> int - val compare_types_pack : P11_attribute.pack -> P11_attribute.pack -> int - val ck_attribute : t Ctypes.typ - val ulValueLen : (Unsigned.ulong, t) Ctypes.field - val pValue : (unit Ctypes_helpers.Reachable_ptr.t, t) Ctypes.field diff --git a/driver/pkcs11_CK_ATTRIBUTE_SET.ml b/driver/pkcs11_CK_ATTRIBUTE_SET.ml index 4d036d8..bfe70ea 100644 --- a/driver/pkcs11_CK_ATTRIBUTE_SET.ml +++ b/driver/pkcs11_CK_ATTRIBUTE_SET.ml @@ -44,7 +44,6 @@ let string t elem = t elem let bigint t elem = string t (P11_bigint.encode elem) - let set_access_error t = setf t ulValueLen Unsigned.ULong.max_int let update (P11_attribute.Pack x) t = diff --git a/driver/pkcs11_CK_ATTRIBUTE_TYPE.mli b/driver/pkcs11_CK_ATTRIBUTE_TYPE.mli index e1636e8..796f15c 100644 --- a/driver/pkcs11_CK_ATTRIBUTE_TYPE.mli +++ b/driver/pkcs11_CK_ATTRIBUTE_TYPE.mli @@ -3,205 +3,107 @@ type t = P11_ulong.t [@@deriving eq, ord] val _CKA_CLASS : t - val _CKA_TOKEN : t - val _CKA_PRIVATE : t - val _CKA_LABEL : t - val _CKA_APPLICATION : t - val _CKA_VALUE : t - val _CKA_OBJECT_ID : t - val _CKA_CERTIFICATE_TYPE : t - val _CKA_ISSUER : t - val _CKA_SERIAL_NUMBER : t - val _CKA_AC_ISSUER : t - val _CKA_OWNER : t - val _CKA_ATTR_TYPES : t - val _CKA_TRUSTED : t - val _CKA_CERTIFICATE_CATEGORY : t - val _CKA_JAVA_MIDP_SECURITY_DOMAIN : t - val _CKA_URL : t - val _CKA_HASH_OF_SUBJECT_PUBLIC_KEY : t - val _CKA_HASH_OF_ISSUER_PUBLIC_KEY : t - val _CKA_CHECK_VALUE : t - val _CKA_KEY_TYPE : t - val _CKA_SUBJECT : t - val _CKA_ID : t - val _CKA_SENSITIVE : t - val _CKA_ENCRYPT : t - val _CKA_DECRYPT : t - val _CKA_WRAP : t - val _CKA_UNWRAP : t - val _CKA_SIGN : t - val _CKA_SIGN_RECOVER : t - val _CKA_VERIFY : t - val _CKA_VERIFY_RECOVER : t - val _CKA_DERIVE : t - val _CKA_START_DATE : t - val _CKA_END_DATE : t - val _CKA_MODULUS : t - val _CKA_MODULUS_BITS : t - val _CKA_PUBLIC_EXPONENT : t - val _CKA_PRIVATE_EXPONENT : t - val _CKA_PRIME_1 : t - val _CKA_PRIME_2 : t - val _CKA_EXPONENT_1 : t - val _CKA_EXPONENT_2 : t - val _CKA_COEFFICIENT : t - val _CKA_PRIME : t - val _CKA_SUBPRIME : t - val _CKA_BASE : t - val _CKA_PRIME_BITS : t - val _CKA_SUBPRIME_BITS : t (* val _CKA_SUB_PRIME_BITS : t *) val _CKA_VALUE_BITS : t - val _CKA_VALUE_LEN : t - val _CKA_EXTRACTABLE : t - val _CKA_LOCAL : t - val _CKA_NEVER_EXTRACTABLE : t - val _CKA_ALWAYS_SENSITIVE : t - val _CKA_KEY_GEN_MECHANISM : t - val _CKA_MODIFIABLE : t (* val _CKA_ECDSA_PARAMS : t deprecated, and equal to EC_PARAMS *) val _CKA_EC_PARAMS : t - val _CKA_EC_POINT : t - val _CKA_SECONDARY_AUTH : t - val _CKA_AUTH_PIN_FLAGS : t - val _CKA_ALWAYS_AUTHENTICATE : t - val _CKA_WRAP_WITH_TRUSTED : t - val _CKA_WRAP_TEMPLATE : t - val _CKA_UNWRAP_TEMPLATE : t - val _CKA_OTP_FORMAT : t - val _CKA_OTP_LENGTH : t - val _CKA_OTP_TIME_INTERVAL : t - val _CKA_OTP_USER_FRIENDLY_MODE : t - val _CKA_OTP_CHALLENGE_REQUIREMENT : t - val _CKA_OTP_TIME_REQUIREMENT : t - val _CKA_OTP_COUNTER_REQUIREMENT : t - val _CKA_OTP_PIN_REQUIREMENT : t - val _CKA_OTP_COUNTER : t - val _CKA_OTP_TIME : t - val _CKA_OTP_USER_IDENTIFIER : t - val _CKA_OTP_SERVICE_IDENTIFIER : t - val _CKA_OTP_SERVICE_LOGO : t - val _CKA_OTP_SERVICE_LOGO_TYPE : t - val _CKA_HW_FEATURE_TYPE : t - val _CKA_RESET_ON_INIT : t - val _CKA_HAS_RESET : t - val _CKA_PIXEL_X : t - val _CKA_PIXEL_Y : t - val _CKA_RESOLUTION : t - val _CKA_CHAR_ROWS : t - val _CKA_CHAR_COLUMNS : t - val _CKA_COLOR : t - val _CKA_BITS_PER_PIXEL : t - val _CKA_CHAR_SETS : t - val _CKA_ENCODING_METHODS : t - val _CKA_MIME_TYPES : t - val _CKA_MECHANISM_TYPE : t - val _CKA_REQUIRED_CMS_ATTRIBUTES : t - val _CKA_DEFAULT_CMS_ATTRIBUTES : t - val _CKA_SUPPORTED_CMS_ATTRIBUTES : t - val _CKA_ALLOWED_MECHANISMS : t - val _CKA_VENDOR_DEFINED : t - val make : 'a P11_attribute_type.t -> t - val view : t -> P11_attribute_type.pack - val typ : t Ctypes.typ diff --git a/driver/pkcs11_CK_BBOOL.ml b/driver/pkcs11_CK_BBOOL.ml index 829ee44..2e81af8 100644 --- a/driver/pkcs11_CK_BBOOL.ml +++ b/driver/pkcs11_CK_BBOOL.ml @@ -1,7 +1,5 @@ type t = Pkcs11_CK_BYTE.t let typ = Pkcs11_CK_BYTE.typ - let _CK_FALSE = Pkcs11_CK_BYTE.zero - let _CK_TRUE = Pkcs11_CK_BYTE.one diff --git a/driver/pkcs11_CK_BBOOL.mli b/driver/pkcs11_CK_BBOOL.mli index 7150a81..64c6058 100644 --- a/driver/pkcs11_CK_BBOOL.mli +++ b/driver/pkcs11_CK_BBOOL.mli @@ -3,7 +3,5 @@ type t = Pkcs11_CK_BYTE.t val _CK_FALSE : t - val _CK_TRUE : t - val typ : t Ctypes.typ diff --git a/driver/pkcs11_CK_BYTE.ml b/driver/pkcs11_CK_BYTE.ml index ea1c834..83b9e2c 100644 --- a/driver/pkcs11_CK_BYTE.ml +++ b/driver/pkcs11_CK_BYTE.ml @@ -1,7 +1,6 @@ type t = char let of_int = Char.chr - let to_int = Char.code let typ : t Ctypes.typ = @@ -10,5 +9,4 @@ let typ : t Ctypes.typ = Ctypes.view ~read ~write Ctypes.uchar let zero = Char.chr 0 - let one = Char.chr 1 diff --git a/driver/pkcs11_CK_BYTE.mli b/driver/pkcs11_CK_BYTE.mli index ee640dd..7179f72 100644 --- a/driver/pkcs11_CK_BYTE.mli +++ b/driver/pkcs11_CK_BYTE.mli @@ -3,11 +3,7 @@ type t = char val zero : t - val one : t - val to_int : t -> int - val of_int : int -> t - val typ : t Ctypes.typ diff --git a/driver/pkcs11_CK_ECDH1_DERIVE_PARAMS.ml b/driver/pkcs11_CK_ECDH1_DERIVE_PARAMS.ml index 7fed391..241d76c 100644 --- a/driver/pkcs11_CK_ECDH1_DERIVE_PARAMS.ml +++ b/driver/pkcs11_CK_ECDH1_DERIVE_PARAMS.ml @@ -2,23 +2,15 @@ open Ctypes open Ctypes_helpers type _t - type t = _t structure let t : t typ = structure "CK_ECDH1_DERIVE_PARAMS" - let ( -: ) typ label = smart_field t label typ - let kdf = Pkcs11_CK_EC_KDF_TYPE.t -: "kdf" - let ulSharedDataLen = ulong -: "ulSharedDataLen" - let pSharedData = Reachable_ptr.typ Pkcs11_CK_BYTE.typ -: "pSharedData" - let ulPublicDataLen = ulong -: "ulPublicDataLen" - let pPublicData = Reachable_ptr.typ Pkcs11_CK_BYTE.typ -: "pPublicData" - let () = seal t let make u = diff --git a/driver/pkcs11_CK_ECDH1_DERIVE_PARAMS.mli b/driver/pkcs11_CK_ECDH1_DERIVE_PARAMS.mli index 066a052..c349a6d 100644 --- a/driver/pkcs11_CK_ECDH1_DERIVE_PARAMS.mli +++ b/driver/pkcs11_CK_ECDH1_DERIVE_PARAMS.mli @@ -4,7 +4,5 @@ type _t type t = _t Ctypes.structure val make : P11_ecdh1_derive_params.t -> t - val view : t -> P11_ecdh1_derive_params.t - val t : t Ctypes.typ diff --git a/driver/pkcs11_CK_ECMQV_DERIVE_PARAMS.ml b/driver/pkcs11_CK_ECMQV_DERIVE_PARAMS.ml index 2a44392..b09e374 100644 --- a/driver/pkcs11_CK_ECMQV_DERIVE_PARAMS.ml +++ b/driver/pkcs11_CK_ECMQV_DERIVE_PARAMS.ml @@ -2,33 +2,20 @@ open Ctypes open Ctypes_helpers type _t - type t = _t structure let t : t typ = structure "CK_ECMQV_DERIVE_PARAMS" - let ( -: ) typ label = smart_field t label typ - let kdf = Pkcs11_CK_EC_KDF_TYPE.t -: "kdf" - let ulSharedDataLen = ulong -: "ulSharedDataLen" - let pSharedData = Reachable_ptr.typ char -: "pSharedData" - let ulPublicDataLen = ulong -: "ulPublicDataLen" - let pPublicData = Reachable_ptr.typ char -: "pPublicData" - let ulPrivateDataLen = ulong -: "ulPrivateDataLen" - let hPrivateData = Pkcs11_CK_OBJECT_HANDLE.typ -: "hPrivateData" - let ulPublicDataLen2 = ulong -: "ulPublicDataLen2" - let pPublicData2 = Reachable_ptr.typ char -: "pPublicData2" - let publicKey = Pkcs11_CK_OBJECT_HANDLE.typ -: "publicKey" - let () = seal t let make u = diff --git a/driver/pkcs11_CK_ECMQV_DERIVE_PARAMS.mli b/driver/pkcs11_CK_ECMQV_DERIVE_PARAMS.mli index c92f096..eece64f 100644 --- a/driver/pkcs11_CK_ECMQV_DERIVE_PARAMS.mli +++ b/driver/pkcs11_CK_ECMQV_DERIVE_PARAMS.mli @@ -4,7 +4,5 @@ type _t type t = _t Ctypes.structure val make : P11_ecmqv_derive_params.t -> t - val view : t -> P11_ecmqv_derive_params.t - val t : t Ctypes.typ diff --git a/driver/pkcs11_CK_EC_KDF_TYPE.ml b/driver/pkcs11_CK_EC_KDF_TYPE.ml index ff43ccc..c8b731e 100644 --- a/driver/pkcs11_CK_EC_KDF_TYPE.ml +++ b/driver/pkcs11_CK_EC_KDF_TYPE.ml @@ -3,11 +3,8 @@ open Ctypes type t = P11_ulong.t let t : t typ = ulong - let ( ! ) x = Unsigned.ULong.of_string (Int64.to_string x) - let _CKD_NULL = !0x00000001L - let _CKD_SHA1_KDF = !0x00000002L let make = diff --git a/driver/pkcs11_CK_EC_KDF_TYPE.mli b/driver/pkcs11_CK_EC_KDF_TYPE.mli index dacada9..c1c9d93 100644 --- a/driver/pkcs11_CK_EC_KDF_TYPE.mli +++ b/driver/pkcs11_CK_EC_KDF_TYPE.mli @@ -2,7 +2,5 @@ type t val make : P11_ec_kdf.t -> t - val view : t -> P11_ec_kdf.t - val t : t Ctypes.typ diff --git a/driver/pkcs11_CK_FLAGS.mli b/driver/pkcs11_CK_FLAGS.mli index 83e3a77..682cc79 100644 --- a/driver/pkcs11_CK_FLAGS.mli +++ b/driver/pkcs11_CK_FLAGS.mli @@ -1,123 +1,63 @@ type t = P11_ulong.t [@@deriving eq, ord, yojson] val typ : t Ctypes.typ - val empty : t - val logical_or : t -> t -> t - val ( || ) : t -> t -> t - val get : flags:t -> flag:t -> bool - val _CKF_TOKEN_PRESENT : t - val _CKF_REMOVABLE_DEVICE : t - val _CKF_HW_SLOT : t - val _CKF_RNG : t - val _CKF_WRITE_PROTECTED : t - val _CKF_LOGIN_REQUIRED : t - val _CKF_USER_PIN_INITIALIZED : t - val _CKF_RESTORE_KEY_NOT_NEEDED : t - val _CKF_CLOCK_ON_TOKEN : t - val _CKF_PROTECTED_AUTHENTICATION_PATH : t - val _CKF_DUAL_CRYPTO_OPERATIONS : t - val _CKF_TOKEN_INITIALIZED : t - val _CKF_SECONDARY_AUTHENTICATION : t - val _CKF_USER_PIN_COUNT_LOW : t - val _CKF_USER_PIN_FINAL_TRY : t - val _CKF_USER_PIN_LOCKED : t - val _CKF_USER_PIN_TO_BE_CHANGED : t - val _CKF_SO_PIN_COUNT_LOW : t - val _CKF_SO_PIN_FINAL_TRY : t - val _CKF_SO_PIN_LOCKED : t - val _CKF_SO_PIN_TO_BE_CHANGED : t - val _CKF_RW_SESSION : t - val _CKF_SERIAL_SESSION : t - val _CKF_ARRAY_ATTRIBUTE : t - val _CKF_HW : t - val _CKF_ENCRYPT : t - val _CKF_DECRYPT : t - val _CKF_DIGEST : t - val _CKF_SIGN : t - val _CKF_SIGN_RECOVER : t - val _CKF_VERIFY : t - val _CKF_VERIFY_RECOVER : t - val _CKF_GENERATE : t - val _CKF_GENERATE_KEY_PAIR : t - val _CKF_WRAP : t - val _CKF_UNWRAP : t - val _CKF_DERIVE : t - val _CKF_EC_F_P : t - val _CKF_EC_F_2M : t - val _CKF_EC_ECPARAMETERS : t - val _CKF_EC_NAMEDCURVE : t - val _CKF_EC_UNCOMPRESS : t - val _CKF_EC_COMPRESS : t - val _CKF_EXTENSION : t - val _CKF_LIBRARY_CANT_CREATE_OS_THREADS : t - val _CKF_OS_LOCKING_OK : t - val _CKF_DONT_BLOCK : t - val _CKF_NEXT_OTP : t - val _CKF_EXCLUDE_TIME : t - val _CKF_EXCLUDE_COUNTER : t - val _CKF_EXCLUDE_CHALLENGE : t - val _CKF_EXCLUDE_PIN : t - val _CKF_USER_FRIENDLY_OTP : t - val to_json : ?pretty:(t -> string) -> t -> Yojson.Safe.t - val to_string : t -> string - val of_string : string -> t diff --git a/driver/pkcs11_CK_GCM_PARAMS.ml b/driver/pkcs11_CK_GCM_PARAMS.ml index b7f4bc1..f3b2494 100644 --- a/driver/pkcs11_CK_GCM_PARAMS.ml +++ b/driver/pkcs11_CK_GCM_PARAMS.ml @@ -1,5 +1,4 @@ type s - type t = s Ctypes.structure let t : t Ctypes.typ = Ctypes.structure "CK_GCM_PARAMS" @@ -9,7 +8,6 @@ let pIv = (Ctypes_helpers.Reachable_ptr.typ Pkcs11_CK_BYTE.typ) let ulIvLen = Ctypes_helpers.smart_field t "ulIvLen" Ctypes.ulong - let ulIvBits = Ctypes_helpers.smart_field t "ulIvBits" Ctypes.ulong let pAAD = @@ -17,9 +15,7 @@ let pAAD = (Ctypes_helpers.Reachable_ptr.typ Pkcs11_CK_BYTE.typ) let ulAADLen = Ctypes_helpers.smart_field t "ulAADLen" Ctypes.ulong - let ulTagBits = Ctypes_helpers.smart_field t "ulTagBits" Ctypes.ulong - let () = Ctypes.seal t let make u = diff --git a/driver/pkcs11_CK_GCM_PARAMS.mli b/driver/pkcs11_CK_GCM_PARAMS.mli index 8e510aa..7eb19e1 100644 --- a/driver/pkcs11_CK_GCM_PARAMS.mli +++ b/driver/pkcs11_CK_GCM_PARAMS.mli @@ -1,21 +1,13 @@ (** Parameter for [CKM_AES_GCM]. ([CK_GCM_PARAMS]) *) type s - type t = s Ctypes.structure val t : t Ctypes.typ - val pIv : (Pkcs11_CK_BYTE.t Ctypes_helpers.Reachable_ptr.t, t) Ctypes.field - val ulIvLen : (P11_ulong.t, t) Ctypes.field - val pAAD : (Pkcs11_CK_BYTE.t Ctypes_helpers.Reachable_ptr.t, t) Ctypes.field - val ulAADLen : (P11_ulong.t, t) Ctypes.field - val ulTagBits : (P11_ulong.t, t) Ctypes.field - val make : P11_gcm_params.t -> t - val view : t -> P11_gcm_params.t diff --git a/driver/pkcs11_CK_INFO.ml b/driver/pkcs11_CK_INFO.ml index dd54564..655c878 100644 --- a/driver/pkcs11_CK_INFO.ml +++ b/driver/pkcs11_CK_INFO.ml @@ -2,23 +2,15 @@ open Ctypes open Ctypes_helpers type _t - type t = _t structure let ck_info : t typ = structure "CK_INFO" - let ( -: ) ty label = smart_field ck_info label ty - let cryptoki_version = Pkcs11_CK_VERSION.ck_version -: "cryptokiVersion" - let manufacturer_id = array 32 char -: "manufacturerID" - let flags = ulong -: "flags" - let library_description = array 32 char -: "libraryDescription" - let library_version = Pkcs11_CK_VERSION.ck_version -: "libraryVersion" - let () = seal ck_info let view c = diff --git a/driver/pkcs11_CK_INFO.mli b/driver/pkcs11_CK_INFO.mli index 74f1ffd..80e6aa4 100644 --- a/driver/pkcs11_CK_INFO.mli +++ b/driver/pkcs11_CK_INFO.mli @@ -4,7 +4,5 @@ type _t type t = _t Ctypes.structure val make : P11_info.t -> t - val view : t -> P11_info.t - val ck_info : t Ctypes.typ diff --git a/driver/pkcs11_CK_KEY_DERIVATION_STRING_DATA.ml b/driver/pkcs11_CK_KEY_DERIVATION_STRING_DATA.ml index da4123f..79f3601 100644 --- a/driver/pkcs11_CK_KEY_DERIVATION_STRING_DATA.ml +++ b/driver/pkcs11_CK_KEY_DERIVATION_STRING_DATA.ml @@ -2,17 +2,12 @@ open Ctypes open Ctypes_helpers type _t - type t = _t structure let t : t typ = structure "CK_KEY_DERIVATION_STRING_DATA" - let ( -: ) typ label = smart_field t label typ - let pData = Reachable_ptr.typ Pkcs11_CK_BYTE.typ -: "pData" - let ulLen = ulong -: "ulLen" - let () = seal t type u = string diff --git a/driver/pkcs11_CK_KEY_DERIVATION_STRING_DATA.mli b/driver/pkcs11_CK_KEY_DERIVATION_STRING_DATA.mli index 1e7bf21..1567911 100644 --- a/driver/pkcs11_CK_KEY_DERIVATION_STRING_DATA.mli +++ b/driver/pkcs11_CK_KEY_DERIVATION_STRING_DATA.mli @@ -2,11 +2,8 @@ type _t type t = _t Ctypes.structure - type u = string val make : u -> t - val view : t -> u - val t : t Ctypes.typ diff --git a/driver/pkcs11_CK_KEY_TYPE.ml b/driver/pkcs11_CK_KEY_TYPE.ml index 3de509b..ee89d46 100644 --- a/driver/pkcs11_CK_KEY_TYPE.ml +++ b/driver/pkcs11_CK_KEY_TYPE.ml @@ -1,67 +1,36 @@ type t = P11_ulong.t let view_error n = Pkcs11_log.log @@ Printf.sprintf "Unknown CKK code: 0x%Lx" n - let with_value x = Unsigned.ULong.of_string @@ Int64.to_string x - let _CKK_RSA = with_value 0x00000000L - let _CKK_DSA = with_value 0x00000001L - let _CKK_DH = with_value 0x00000002L - let _CKK_EC = with_value 0x00000003L - let _CKK_X9_42_DH = with_value 0x00000004L - let _CKK_KEA = with_value 0x00000005L - let _CKK_GENERIC_SECRET = with_value 0x00000010L - let _CKK_RC2 = with_value 0x00000011L - let _CKK_RC4 = with_value 0x00000012L - let _CKK_DES = with_value 0x00000013L - let _CKK_DES2 = with_value 0x00000014L - let _CKK_DES3 = with_value 0x00000015L - let _CKK_CAST = with_value 0x00000016L - let _CKK_CAST3 = with_value 0x00000017L - let _CKK_CAST128 = with_value 0x00000018L - let _CKK_RC5 = with_value 0x00000019L - let _CKK_IDEA = with_value 0x0000001AL - let _CKK_SKIPJACK = with_value 0x0000001BL - let _CKK_BATON = with_value 0x0000001CL - let _CKK_JUNIPER = with_value 0x0000001DL - let _CKK_CDMF = with_value 0x0000001EL - let _CKK_AES = with_value 0x0000001FL - let _CKK_BLOWFISH = with_value 0x00000020L - let _CKK_TWOFISH = with_value 0x00000021L - let _CKK_SECURID = with_value 0x00000022L - let _CKK_HOTP = with_value 0x00000023L - let _CKK_ACTI = with_value 0x00000024L - let _CKK_CAMELLIA = with_value 0x00000025L - let _CKK_ARIA = with_value 0x00000026L - let _CKK_VENDOR_DEFINED = with_value 0x80000000L let make = diff --git a/driver/pkcs11_CK_KEY_TYPE.mli b/driver/pkcs11_CK_KEY_TYPE.mli index d529684..9e27a74 100644 --- a/driver/pkcs11_CK_KEY_TYPE.mli +++ b/driver/pkcs11_CK_KEY_TYPE.mli @@ -3,65 +3,34 @@ type t = P11_ulong.t val _CKK_RSA : t - val _CKK_DSA : t - val _CKK_DH : t - val _CKK_EC : t - val _CKK_X9_42_DH : t - val _CKK_KEA : t - val _CKK_GENERIC_SECRET : t - val _CKK_RC2 : t - val _CKK_RC4 : t - val _CKK_DES : t - val _CKK_DES2 : t - val _CKK_DES3 : t - val _CKK_CAST : t - val _CKK_CAST3 : t - val _CKK_CAST128 : t - val _CKK_RC5 : t - val _CKK_IDEA : t - val _CKK_SKIPJACK : t - val _CKK_BATON : t - val _CKK_JUNIPER : t - val _CKK_CDMF : t - val _CKK_AES : t - val _CKK_BLOWFISH : t - val _CKK_TWOFISH : t - val _CKK_SECURID : t - val _CKK_HOTP : t - val _CKK_ACTI : t - val _CKK_CAMELLIA : t - val _CKK_ARIA : t - val _CKK_VENDOR_DEFINED : t - val view : t -> P11_key_type.t - val make : P11_key_type.t -> t diff --git a/driver/pkcs11_CK_MECHANISM.ml b/driver/pkcs11_CK_MECHANISM.ml index 406bb3b..746ff51 100644 --- a/driver/pkcs11_CK_MECHANISM.ml +++ b/driver/pkcs11_CK_MECHANISM.ml @@ -2,19 +2,13 @@ open Ctypes open Ctypes_helpers type _t - type t = _t structure let ck_mechanism : t typ = structure "CK_MECHANISM" - let ( -: ) ty label = smart_field ck_mechanism label ty - let mechanism = Pkcs11_CK_MECHANISM_TYPE.typ -: "mechanism" - let parameter = Reachable_ptr.typ void -: "pParameter" - let parameter_len = ulong -: "pParameterLen" - let () = seal ck_mechanism type argument = diff --git a/driver/pkcs11_CK_MECHANISM.mli b/driver/pkcs11_CK_MECHANISM.mli index b2f1b95..c2763f7 100644 --- a/driver/pkcs11_CK_MECHANISM.mli +++ b/driver/pkcs11_CK_MECHANISM.mli @@ -4,13 +4,8 @@ type _t type t = _t Ctypes.structure val mechanism : (Pkcs11_CK_MECHANISM_TYPE.t, t) Ctypes.field - val parameter : (unit Ctypes_helpers.Reachable_ptr.t, t) Ctypes.field - val parameter_len : (P11_ulong.t, t) Ctypes.field - val make : P11_mechanism.t -> t - val view : t -> P11_mechanism.t - val ck_mechanism : t Ctypes.typ diff --git a/driver/pkcs11_CK_MECHANISM_INFO.ml b/driver/pkcs11_CK_MECHANISM_INFO.ml index e35d478..58beb7f 100644 --- a/driver/pkcs11_CK_MECHANISM_INFO.ml +++ b/driver/pkcs11_CK_MECHANISM_INFO.ml @@ -1,19 +1,13 @@ open Ctypes type _t - type t = _t structure let ck_mechanism_info : t typ = structure "CK_MECHANISM_INFO" - let ( -: ) ty label = Ctypes_helpers.smart_field ck_mechanism_info label ty - let ulMinKeySize = ulong -: "ulMinKeySize" - let ulMaxKeySize = ulong -: "ulMaxKeySize" - let flags = Pkcs11_CK_FLAGS.typ -: "flags" - let () = seal ck_mechanism_info let view c = diff --git a/driver/pkcs11_CK_MECHANISM_INFO.mli b/driver/pkcs11_CK_MECHANISM_INFO.mli index 6cabe4e..a2e2ecd 100644 --- a/driver/pkcs11_CK_MECHANISM_INFO.mli +++ b/driver/pkcs11_CK_MECHANISM_INFO.mli @@ -1,11 +1,8 @@ (** Information about a particular mechanism ([CK_MECHANISM_INFO]) *) type _t - type t = _t Ctypes.structure val make : P11_mechanism_info.t -> t - val view : t -> P11_mechanism_info.t - val ck_mechanism_info : t Ctypes.typ diff --git a/driver/pkcs11_CK_MECHANISM_TYPE.ml b/driver/pkcs11_CK_MECHANISM_TYPE.ml index ab20be0..980d3c9 100644 --- a/driver/pkcs11_CK_MECHANISM_TYPE.ml +++ b/driver/pkcs11_CK_MECHANISM_TYPE.ml @@ -1,685 +1,345 @@ type t = P11_ulong.t [@@deriving eq, ord, show] let typ = Ctypes.ulong - let with_value x = Unsigned.ULong.of_string @@ Int64.to_string x - let _CKM_RSA_PKCS_KEY_PAIR_GEN = with_value 0x00000000L - let _CKM_RSA_PKCS = with_value 0x00000001L - let _CKM_RSA_9796 = with_value 0x00000002L - let _CKM_RSA_X_509 = with_value 0x00000003L - let _CKM_MD2_RSA_PKCS = with_value 0x00000004L - let _CKM_MD5_RSA_PKCS = with_value 0x00000005L - let _CKM_SHA1_RSA_PKCS = with_value 0x00000006L - let _CKM_RIPEMD128_RSA_PKCS = with_value 0x00000007L - let _CKM_RIPEMD160_RSA_PKCS = with_value 0x00000008L - let _CKM_RSA_PKCS_OAEP = with_value 0x00000009L - let _CKM_RSA_X9_31_KEY_PAIR_GEN = with_value 0x0000000AL - let _CKM_RSA_X9_31 = with_value 0x0000000BL - let _CKM_SHA1_RSA_X9_31 = with_value 0x0000000CL - let _CKM_RSA_PKCS_PSS = with_value 0x0000000DL - let _CKM_SHA1_RSA_PKCS_PSS = with_value 0x0000000EL - let _CKM_DSA_KEY_PAIR_GEN = with_value 0x00000010L - let _CKM_DSA = with_value 0x00000011L - let _CKM_DSA_SHA1 = with_value 0x00000012L - let _CKM_DSA_SHA224 = with_value 0x00000013L - let _CKM_DSA_SHA224 = with_value 0x00000013L - let _CKM_DSA_SHA256 = with_value 0x00000014L - let _CKM_DSA_SHA256 = with_value 0x00000014L - let _CKM_DSA_SHA384 = with_value 0x00000015L - let _CKM_DSA_SHA384 = with_value 0x00000015L - let _CKM_DSA_SHA512 = with_value 0x00000016L - let _CKM_DSA_SHA512 = with_value 0x00000016L - let _CKM_DH_PKCS_KEY_PAIR_GEN = with_value 0x00000020L - let _CKM_DH_PKCS_DERIVE = with_value 0x00000021L - let _CKM_X9_42_DH_KEY_PAIR_GEN = with_value 0x00000030L - let _CKM_X9_42_DH_DERIVE = with_value 0x00000031L - let _CKM_X9_42_DH_HYBRID_DERIVE = with_value 0x00000032L - let _CKM_X9_42_MQV_DERIVE = with_value 0x00000033L - let _CKM_SHA256_RSA_PKCS = with_value 0x00000040L - let _CKM_SHA384_RSA_PKCS = with_value 0x00000041L - let _CKM_SHA512_RSA_PKCS = with_value 0x00000042L - let _CKM_SHA256_RSA_PKCS_PSS = with_value 0x00000043L - let _CKM_SHA384_RSA_PKCS_PSS = with_value 0x00000044L - let _CKM_SHA512_RSA_PKCS_PSS = with_value 0x00000045L - let _CKM_SHA224_RSA_PKCS = with_value 0x00000046L - let _CKM_SHA224_RSA_PKCS_PSS = with_value 0x00000047L - let _CKM_SHA512_224 = with_value 0x00000048L - let _CKM_SHA512_224_HMAC = with_value 0x00000049L - let _CKM_SHA512_224_HMAC_GENERAL = with_value 0x0000004AL - let _CKM_SHA512_224_KEY_DERIVATION = with_value 0x0000004BL - let _CKM_SHA512_256 = with_value 0x0000004CL - let _CKM_SHA512_256_HMAC = with_value 0x0000004DL - let _CKM_SHA512_256_HMAC_GENERAL = with_value 0x0000004EL - let _CKM_SHA512_256_KEY_DERIVATION = with_value 0x0000004FL - let _CKM_SHA512_T = with_value 0x00000050L - let _CKM_SHA512_T_HMAC = with_value 0x00000051L - let _CKM_SHA512_T_HMAC_GENERAL = with_value 0x00000052L - let _CKM_SHA512_T_KEY_DERIVATION = with_value 0x00000053L - let _CKM_RC2_KEY_GEN = with_value 0x00000100L - let _CKM_RC2_ECB = with_value 0x00000101L - let _CKM_RC2_CBC = with_value 0x00000102L - let _CKM_RC2_MAC = with_value 0x00000103L - let _CKM_RC2_MAC_GENERAL = with_value 0x00000104L - let _CKM_RC2_CBC_PAD = with_value 0x00000105L - let _CKM_RC4_KEY_GEN = with_value 0x00000110L - let _CKM_RC4 = with_value 0x00000111L - let _CKM_DES_KEY_GEN = with_value 0x00000120L - let _CKM_DES_ECB = with_value 0x00000121L - let _CKM_DES_CBC = with_value 0x00000122L - let _CKM_DES_MAC = with_value 0x00000123L - let _CKM_DES_MAC_GENERAL = with_value 0x00000124L - let _CKM_DES_CBC_PAD = with_value 0x00000125L - let _CKM_DES2_KEY_GEN = with_value 0x00000130L - let _CKM_DES3_KEY_GEN = with_value 0x00000131L - let _CKM_DES3_ECB = with_value 0x00000132L - let _CKM_DES3_CBC = with_value 0x00000133L - let _CKM_DES3_MAC = with_value 0x00000134L - let _CKM_DES3_MAC_GENERAL = with_value 0x00000135L - let _CKM_DES3_CBC_PAD = with_value 0x00000136L - let _CKM_DES3_CMAC_GENERAL = with_value 0x00000137L - let _CKM_DES3_CMAC = with_value 0x00000138L - let _CKM_CDMF_KEY_GEN = with_value 0x00000140L - let _CKM_CDMF_ECB = with_value 0x00000141L - let _CKM_CDMF_CBC = with_value 0x00000142L - let _CKM_CDMF_MAC = with_value 0x00000143L - let _CKM_CDMF_MAC_GENERAL = with_value 0x00000144L - let _CKM_CDMF_CBC_PAD = with_value 0x00000145L - let _CKM_DES_OFB64 = with_value 0x00000150L - let _CKM_DES_OFB8 = with_value 0x00000151L - let _CKM_DES_CFB64 = with_value 0x00000152L - let _CKM_DES_CFB8 = with_value 0x00000153L - let _CKM_MD2 = with_value 0x00000200L - let _CKM_MD2_HMAC = with_value 0x00000201L - let _CKM_MD2_HMAC_GENERAL = with_value 0x00000202L - let _CKM_MD5 = with_value 0x00000210L - let _CKM_MD5_HMAC = with_value 0x00000211L - let _CKM_MD5_HMAC_GENERAL = with_value 0x00000212L - let _CKM_SHA_1 = with_value 0x00000220L - let _CKM_SHA_1_HMAC = with_value 0x00000221L - let _CKM_SHA_1_HMAC_GENERAL = with_value 0x00000222L - let _CKM_RIPEMD128 = with_value 0x00000230L - let _CKM_RIPEMD128_HMAC = with_value 0x00000231L - let _CKM_RIPEMD128_HMAC_GENERAL = with_value 0x00000232L - let _CKM_RIPEMD160 = with_value 0x00000240L - let _CKM_RIPEMD160_HMAC = with_value 0x00000241L - let _CKM_RIPEMD160_HMAC_GENERAL = with_value 0x00000242L - let _CKM_SHA256 = with_value 0x00000250L - let _CKM_SHA256_HMAC = with_value 0x00000251L - let _CKM_SHA256_HMAC_GENERAL = with_value 0x00000252L - let _CKM_SHA224 = with_value 0x00000255L - let _CKM_SHA224_HMAC = with_value 0x00000256L - let _CKM_SHA224_HMAC_GENERAL = with_value 0x00000257L - let _CKM_SHA384 = with_value 0x00000260L - let _CKM_SHA384_HMAC = with_value 0x00000261L - let _CKM_SHA384_HMAC_GENERAL = with_value 0x00000262L - let _CKM_SHA512 = with_value 0x00000270L - let _CKM_SHA512_HMAC = with_value 0x00000271L - let _CKM_SHA512_HMAC_GENERAL = with_value 0x00000272L - let _CKM_SECURID_KEY_GEN = with_value 0x00000280L - let _CKM_SECURID = with_value 0x00000282L - let _CKM_HOTP_KEY_GEN = with_value 0x00000290L - let _CKM_HOTP = with_value 0x00000291L - let _CKM_ACTI = with_value 0x000002A0L - let _CKM_ACTI_KEY_GEN = with_value 0x000002A1L - let _CKM_CAST_KEY_GEN = with_value 0x00000300L - let _CKM_CAST_ECB = with_value 0x00000301L - let _CKM_CAST_CBC = with_value 0x00000302L - let _CKM_CAST_MAC = with_value 0x00000303L - let _CKM_CAST_MAC_GENERAL = with_value 0x00000304L - let _CKM_CAST_CBC_PAD = with_value 0x00000305L - let _CKM_CAST3_KEY_GEN = with_value 0x00000310L - let _CKM_CAST3_ECB = with_value 0x00000311L - let _CKM_CAST3_CBC = with_value 0x00000312L - let _CKM_CAST3_MAC = with_value 0x00000313L - let _CKM_CAST3_MAC_GENERAL = with_value 0x00000314L - let _CKM_CAST3_CBC_PAD = with_value 0x00000315L - let _CKM_CAST128_KEY_GEN = with_value 0x00000320L - let _CKM_CAST128_ECB = with_value 0x00000321L - let _CKM_CAST128_CBC = with_value 0x00000322L - let _CKM_CAST128_MAC = with_value 0x00000323L - let _CKM_CAST128_MAC_GENERAL = with_value 0x00000324L - let _CKM_CAST128_CBC_PAD = with_value 0x00000325L - let _CKM_RC5_KEY_GEN = with_value 0x00000330L - let _CKM_RC5_ECB = with_value 0x00000331L - let _CKM_RC5_CBC = with_value 0x00000332L - let _CKM_RC5_MAC = with_value 0x00000333L - let _CKM_RC5_MAC_GENERAL = with_value 0x00000334L - let _CKM_RC5_CBC_PAD = with_value 0x00000335L - let _CKM_IDEA_KEY_GEN = with_value 0x00000340L - let _CKM_IDEA_ECB = with_value 0x00000341L - let _CKM_IDEA_CBC = with_value 0x00000342L - let _CKM_IDEA_MAC = with_value 0x00000343L - let _CKM_IDEA_MAC_GENERAL = with_value 0x00000344L - let _CKM_IDEA_CBC_PAD = with_value 0x00000345L - let _CKM_GENERIC_SECRET_KEY_GEN = with_value 0x00000350L - let _CKM_CONCATENATE_BASE_AND_KEY = with_value 0x00000360L - let _CKM_CONCATENATE_BASE_AND_DATA = with_value 0x00000362L - let _CKM_CONCATENATE_DATA_AND_BASE = with_value 0x00000363L - let _CKM_XOR_BASE_AND_DATA = with_value 0x00000364L - let _CKM_EXTRACT_KEY_FROM_KEY = with_value 0x00000365L - let _CKM_SSL3_PRE_MASTER_KEY_GEN = with_value 0x00000370L - let _CKM_SSL3_MASTER_KEY_DERIVE = with_value 0x00000371L - let _CKM_SSL3_KEY_AND_MAC_DERIVE = with_value 0x00000372L - let _CKM_SSL3_MASTER_KEY_DERIVE_DH = with_value 0x00000373L - let _CKM_TLS_PRE_MASTER_KEY_GEN = with_value 0x00000374L - let _CKM_TLS_MASTER_KEY_DERIVE = with_value 0x00000375L - let _CKM_TLS_KEY_AND_MAC_DERIVE = with_value 0x00000376L - let _CKM_TLS_MASTER_KEY_DERIVE_DH = with_value 0x00000377L - let _CKM_TLS_PRF = with_value 0x00000378L - let _CKM_SSL3_MD5_MAC = with_value 0x00000380L - let _CKM_SSL3_SHA1_MAC = with_value 0x00000381L - let _CKM_MD5_KEY_DERIVATION = with_value 0x00000390L - let _CKM_MD2_KEY_DERIVATION = with_value 0x00000391L - let _CKM_SHA1_KEY_DERIVATION = with_value 0x00000392L - let _CKM_SHA256_KEY_DERIVATION = with_value 0x00000393L - let _CKM_SHA384_KEY_DERIVATION = with_value 0x00000394L - let _CKM_SHA512_KEY_DERIVATION = with_value 0x00000395L - let _CKM_SHA224_KEY_DERIVATION = with_value 0x00000396L - let _CKM_PBE_MD2_DES_CBC = with_value 0x000003A0L - let _CKM_PBE_MD5_DES_CBC = with_value 0x000003A1L - let _CKM_PBE_MD5_CAST_CBC = with_value 0x000003A2L - let _CKM_PBE_MD5_CAST3_CBC = with_value 0x000003A3L - let _CKM_PBE_MD5_CAST128_CBC = with_value 0x000003A4L - let _CKM_PBE_SHA1_CAST128_CBC = with_value 0x000003A5L - let _CKM_PBE_SHA1_RC4_128 = with_value 0x000003A6L - let _CKM_PBE_SHA1_RC4_40 = with_value 0x000003A7L - let _CKM_PBE_SHA1_DES3_EDE_CBC = with_value 0x000003A8L - let _CKM_PBE_SHA1_DES2_EDE_CBC = with_value 0x000003A9L - let _CKM_PBE_SHA1_RC2_128_CBC = with_value 0x000003AAL - let _CKM_PBE_SHA1_RC2_40_CBC = with_value 0x000003ABL - let _CKM_PKCS5_PBKD2 = with_value 0x000003B0L - let _CKM_PBA_SHA1_WITH_SHA1_HMAC = with_value 0x000003C0L - let _CKM_WTLS_PRE_MASTER_KEY_GEN = with_value 0x000003D0L - let _CKM_WTLS_MASTER_KEY_DERIVE = with_value 0x000003D1L - let _CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC = with_value 0x000003D2L - let _CKM_WTLS_PRF = with_value 0x000003D3L - let _CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE = with_value 0x000003D4L - let _CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE = with_value 0x000003D5L - let _CKM_TLS10_MAC_SERVER = with_value 0x000003D6L - let _CKM_TLS10_MAC_CLIENT = with_value 0x000003D7L - let _CKM_TLS12_MAC = with_value 0x000003D8L - let _CKM_TLS12_KDF = with_value 0x000003D9L - let _CKM_TLS12_MASTER_KEY_DERIVE = with_value 0x000003E0L - let _CKM_TLS12_KEY_AND_MAC_DERIVE = with_value 0x000003E1L - let _CKM_TLS12_MASTER_KEY_DERIVE_DH = with_value 0x000003E2L - let _CKM_TLS12_KEY_SAFE_DERIVE = with_value 0x000003E3L - let _CKM_TLS_MAC = with_value 0x000003E4L - let _CKM_TLS_KDF = with_value 0x000003E5L - let _CKM_KEY_WRAP_LYNKS = with_value 0x00000400L - let _CKM_KEY_WRAP_SET_OAEP = with_value 0x00000401L - let _CKM_CMS_SIG = with_value 0x00000500L - let _CKM_KIP_DERIVE = with_value 0x00000510L - let _CKM_KIP_WRAP = with_value 0x00000511L - let _CKM_KIP_MAC = with_value 0x00000512L - let _CKM_CAMELLIA_KEY_GEN = with_value 0x00000550L - let _CKM_CAMELLIA_ECB = with_value 0x00000551L - let _CKM_CAMELLIA_CBC = with_value 0x00000552L - let _CKM_CAMELLIA_MAC = with_value 0x00000553L - let _CKM_CAMELLIA_MAC_GENERAL = with_value 0x00000554L - let _CKM_CAMELLIA_CBC_PAD = with_value 0x00000555L - let _CKM_CAMELLIA_ECB_ENCRYPT_DATA = with_value 0x00000556L - let _CKM_CAMELLIA_CBC_ENCRYPT_DATA = with_value 0x00000557L - let _CKM_CAMELLIA_CTR = with_value 0x00000558L - let _CKM_ARIA_KEY_GEN = with_value 0x00000560L - let _CKM_ARIA_ECB = with_value 0x00000561L - let _CKM_ARIA_CBC = with_value 0x00000562L - let _CKM_ARIA_MAC = with_value 0x00000563L - let _CKM_ARIA_MAC_GENERAL = with_value 0x00000564L - let _CKM_ARIA_CBC_PAD = with_value 0x00000565L - let _CKM_ARIA_ECB_ENCRYPT_DATA = with_value 0x00000566L - let _CKM_ARIA_CBC_ENCRYPT_DATA = with_value 0x00000567L - let _CKM_SEED_KEY_GEN = with_value 0x00000650L - let _CKM_SEED_ECB = with_value 0x00000651L - let _CKM_SEED_CBC = with_value 0x00000652L - let _CKM_SEED_MAC = with_value 0x00000653L - let _CKM_SEED_MAC_GENERAL = with_value 0x00000654L - let _CKM_SEED_CBC_PAD = with_value 0x00000655L - let _CKM_SEED_ECB_ENCRYPT_DATA = with_value 0x00000656L - let _CKM_SEED_CBC_ENCRYPT_DATA = with_value 0x00000657L - let _CKM_SKIPJACK_KEY_GEN = with_value 0x00001000L - let _CKM_SKIPJACK_ECB64 = with_value 0x00001001L - let _CKM_SKIPJACK_CBC64 = with_value 0x00001002L - let _CKM_SKIPJACK_OFB64 = with_value 0x00001003L - let _CKM_SKIPJACK_CFB64 = with_value 0x00001004L - let _CKM_SKIPJACK_CFB32 = with_value 0x00001005L - let _CKM_SKIPJACK_CFB16 = with_value 0x00001006L - let _CKM_SKIPJACK_CFB8 = with_value 0x00001007L - let _CKM_SKIPJACK_WRAP = with_value 0x00001008L - let _CKM_SKIPJACK_PRIVATE_WRAP = with_value 0x00001009L - let _CKM_SKIPJACK_RELAYX = with_value 0x0000100aL - let _CKM_KEA_KEY_PAIR_GEN = with_value 0x00001010L - let _CKM_KEA_KEY_DERIVE = with_value 0x00001011L - let _CKM_KEA_DERIVE = with_value 0x00001012L - let _CKM_FORTEZZA_TIMESTAMP = with_value 0x00001020L - let _CKM_BATON_KEY_GEN = with_value 0x00001030L - let _CKM_BATON_ECB128 = with_value 0x00001031L - let _CKM_BATON_ECB96 = with_value 0x00001032L - let _CKM_BATON_CBC128 = with_value 0x00001033L - let _CKM_BATON_COUNTER = with_value 0x00001034L - let _CKM_BATON_SHUFFLE = with_value 0x00001035L - let _CKM_BATON_WRAP = with_value 0x00001036L - let _CKM_EC_KEY_PAIR_GEN = with_value 0x00001040L - let _CKM_ECDSA = with_value 0x00001041L - let _CKM_ECDSA_SHA1 = with_value 0x00001042L - let _CKM_ECDSA_SHA224 = with_value 0x00001043L - let _CKM_ECDSA_SHA224 = with_value 0x00001043L - let _CKM_ECDSA_SHA256 = with_value 0x00001044L - let _CKM_ECDSA_SHA256 = with_value 0x00001044L - let _CKM_ECDSA_SHA384 = with_value 0x00001045L - let _CKM_ECDSA_SHA384 = with_value 0x00001045L - let _CKM_ECDSA_SHA512 = with_value 0x00001046L - let _CKM_ECDSA_SHA512 = with_value 0x00001046L - let _CKM_ECDH1_DERIVE = with_value 0x00001050L - let _CKM_ECDH1_COFACTOR_DERIVE = with_value 0x00001051L - let _CKM_ECMQV_DERIVE = with_value 0x00001052L - let _CKM_ECDH_AES_KEY_WRAP = with_value 0x00001053L - let _CKM_RSA_AES_KEY_WRAP = with_value 0x00001054L - let _CKM_JUNIPER_KEY_GEN = with_value 0x00001060L - let _CKM_JUNIPER_ECB128 = with_value 0x00001061L - let _CKM_JUNIPER_CBC128 = with_value 0x00001062L - let _CKM_JUNIPER_COUNTER = with_value 0x00001063L - let _CKM_JUNIPER_SHUFFLE = with_value 0x00001064L - let _CKM_JUNIPER_WRAP = with_value 0x00001065L - let _CKM_FASTHASH = with_value 0x00001070L - let _CKM_AES_KEY_GEN = with_value 0x00001080L - let _CKM_AES_ECB = with_value 0x00001081L - let _CKM_AES_CBC = with_value 0x00001082L - let _CKM_AES_MAC = with_value 0x00001083L - let _CKM_AES_MAC_GENERAL = with_value 0x00001084L - let _CKM_AES_CBC_PAD = with_value 0x00001085L - let _CKM_AES_CTR = with_value 0x00001086L - let _CKM_AES_GCM = with_value 0x00001087L - let _CKM_AES_GCM = with_value 0x00001087L - let _CKM_AES_CCM = with_value 0x00001088L - let _CKM_AES_CTS = with_value 0x00001089L - let _CKM_AES_CMAC = with_value 0x0000108AL - let _CKM_AES_CMAC_GENERAL = with_value 0x0000108BL - let _CKM_AES_XCBC_MAC = with_value 0x0000108CL - let _CKM_AES_XCBC_MAC_96 = with_value 0x0000108DL - let _CKM_AES_GMAC = with_value 0x0000108EL - let _CKM_BLOWFISH_KEY_GEN = with_value 0x00001090L - let _CKM_BLOWFISH_CBC = with_value 0x00001091L - let _CKM_TWOFISH_KEY_GEN = with_value 0x00001092L - let _CKM_TWOFISH_CBC = with_value 0x00001093L - let _CKM_BLOWFISH_CBC_PAD = with_value 0x00001094L - let _CKM_TWOFISH_CBC_PAD = with_value 0x00001095L - let _CKM_DES_ECB_ENCRYPT_DATA = with_value 0x00001100L - let _CKM_DES_CBC_ENCRYPT_DATA = with_value 0x00001101L - let _CKM_DES3_ECB_ENCRYPT_DATA = with_value 0x00001102L - let _CKM_DES3_CBC_ENCRYPT_DATA = with_value 0x00001103L - let _CKM_AES_ECB_ENCRYPT_DATA = with_value 0x00001104L - let _CKM_AES_CBC_ENCRYPT_DATA = with_value 0x00001105L - let _CKM_GOSTR3410_KEY_PAIR_GEN = with_value 0x00001200L - let _CKM_GOSTR3410_KEY_PAIR_GEN = with_value 0x00001200L - let _CKM_GOSTR3410 = with_value 0x00001201L - let _CKM_GOSTR3410 = with_value 0x00001201L - let _CKM_GOSTR3410_WITH_GOSTR3411 = with_value 0x00001202L - let _CKM_GOSTR3410_WITH_GOSTR3411 = with_value 0x00001202L - let _CKM_GOSTR3410_KEY_WRAP = with_value 0x00001203L - let _CKM_GOSTR3410_DERIVE = with_value 0x00001204L - let _CKM_GOSTR3411 = with_value 0x00001210L - let _CKM_GOSTR3411 = with_value 0x00001210L - let _CKM_GOSTR3411_HMAC = with_value 0x00001211L - let _CKM_GOSTR3411_HMAC = with_value 0x00001211L - let _CKM_GOST28147_KEY_GEN = with_value 0x00001220L - let _CKM_GOST28147_ECB = with_value 0x00001221L - let _CKM_GOST28147 = with_value 0x00001222L - let _CKM_GOST28147_MAC = with_value 0x00001223L - let _CKM_GOST28147_KEY_WRAP = with_value 0x00001224L - let _CKM_DSA_PARAMETER_GEN = with_value 0x00002000L - let _CKM_DH_PKCS_PARAMETER_GEN = with_value 0x00002001L - let _CKM_X9_42_DH_PARAMETER_GEN = with_value 0x00002002L - let _CKM_DSA_PROBABLISTIC_PARAMETER_GEN = with_value 0x00002003L - let _CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN = with_value 0x00002004L - let _CKM_AES_OFB = with_value 0x00002104L - let _CKM_AES_CFB64 = with_value 0x00002105L - let _CKM_AES_CFB8 = with_value 0x00002106L - let _CKM_AES_CFB128 = with_value 0x00002107L - let _CKM_AES_CFB1 = with_value 0x00002108L - let _CKM_AES_KEY_WRAP = with_value 0x00002109L - let _CKM_AES_KEY_WRAP = with_value 0x00002109L - let _CKM_AES_KEY_WRAP_PAD = with_value 0x0000210AL - let _CKM_RSA_PKCS_TPM_1_1 = with_value 0x00004001L - let _CKM_RSA_PKCS_OAEP_TPM_1_1 = with_value 0x00004002L - let _CKM_VENDOR_DEFINED = with_value 0x80000000L let make u = diff --git a/driver/pkcs11_CK_MECHANISM_TYPE.mli b/driver/pkcs11_CK_MECHANISM_TYPE.mli index 4c5f568..ad3b24e 100644 --- a/driver/pkcs11_CK_MECHANISM_TYPE.mli +++ b/driver/pkcs11_CK_MECHANISM_TYPE.mli @@ -2,525 +2,264 @@ type t = P11_ulong.t [@@deriving eq, ord, show] val _CKM_RSA_PKCS_KEY_PAIR_GEN : t - val _CKM_RSA_PKCS : t - val _CKM_RSA_9796 : t - val _CKM_RSA_X_509 : t - val _CKM_MD2_RSA_PKCS : t - val _CKM_MD5_RSA_PKCS : t - val _CKM_SHA1_RSA_PKCS : t - val _CKM_RIPEMD128_RSA_PKCS : t - val _CKM_RIPEMD160_RSA_PKCS : t - val _CKM_RSA_PKCS_OAEP : t - val _CKM_RSA_X9_31_KEY_PAIR_GEN : t - val _CKM_RSA_X9_31 : t - val _CKM_SHA1_RSA_X9_31 : t - val _CKM_RSA_PKCS_PSS : t - val _CKM_SHA1_RSA_PKCS_PSS : t - val _CKM_DSA_KEY_PAIR_GEN : t - val _CKM_DSA : t - val _CKM_DSA_SHA1 : t - val _CKM_DSA_SHA224 : t - val _CKM_DSA_SHA256 : t - val _CKM_DSA_SHA384 : t - val _CKM_DSA_SHA512 : t - val _CKM_DH_PKCS_KEY_PAIR_GEN : t - val _CKM_DH_PKCS_DERIVE : t - val _CKM_X9_42_DH_KEY_PAIR_GEN : t - val _CKM_X9_42_DH_DERIVE : t - val _CKM_X9_42_DH_HYBRID_DERIVE : t - val _CKM_X9_42_MQV_DERIVE : t - val _CKM_SHA256_RSA_PKCS : t - val _CKM_SHA384_RSA_PKCS : t - val _CKM_SHA512_RSA_PKCS : t - val _CKM_SHA256_RSA_PKCS_PSS : t - val _CKM_SHA384_RSA_PKCS_PSS : t - val _CKM_SHA512_RSA_PKCS_PSS : t - val _CKM_SHA224_RSA_PKCS : t - val _CKM_SHA224_RSA_PKCS_PSS : t - val _CKM_RC2_KEY_GEN : t - val _CKM_RC2_ECB : t - val _CKM_RC2_CBC : t - val _CKM_RC2_MAC : t - val _CKM_RC2_MAC_GENERAL : t - val _CKM_RC2_CBC_PAD : t - val _CKM_RC4_KEY_GEN : t - val _CKM_RC4 : t - val _CKM_DES_KEY_GEN : t - val _CKM_DES_ECB : t - val _CKM_DES_CBC : t - val _CKM_DES_MAC : t - val _CKM_DES_MAC_GENERAL : t - val _CKM_DES_CBC_PAD : t - val _CKM_DES2_KEY_GEN : t - val _CKM_DES3_KEY_GEN : t - val _CKM_DES3_ECB : t - val _CKM_DES3_CBC : t - val _CKM_DES3_MAC : t - val _CKM_DES3_MAC_GENERAL : t - val _CKM_DES3_CBC_PAD : t - val _CKM_CDMF_KEY_GEN : t - val _CKM_CDMF_ECB : t - val _CKM_CDMF_CBC : t - val _CKM_CDMF_MAC : t - val _CKM_CDMF_MAC_GENERAL : t - val _CKM_CDMF_CBC_PAD : t - val _CKM_DES_OFB64 : t - val _CKM_DES_OFB8 : t - val _CKM_DES_CFB64 : t - val _CKM_DES_CFB8 : t - val _CKM_MD2 : t - val _CKM_MD2_HMAC : t - val _CKM_MD2_HMAC_GENERAL : t - val _CKM_MD5 : t - val _CKM_MD5_HMAC : t - val _CKM_MD5_HMAC_GENERAL : t - val _CKM_SHA_1 : t - val _CKM_SHA_1_HMAC : t - val _CKM_SHA_1_HMAC_GENERAL : t - val _CKM_RIPEMD128 : t - val _CKM_RIPEMD128_HMAC : t - val _CKM_RIPEMD128_HMAC_GENERAL : t - val _CKM_RIPEMD160 : t - val _CKM_RIPEMD160_HMAC : t - val _CKM_RIPEMD160_HMAC_GENERAL : t - val _CKM_SHA256 : t - val _CKM_SHA256_HMAC : t - val _CKM_SHA256_HMAC_GENERAL : t - val _CKM_SHA224 : t - val _CKM_SHA224_HMAC : t - val _CKM_SHA224_HMAC_GENERAL : t - val _CKM_SHA384 : t - val _CKM_SHA384_HMAC : t - val _CKM_SHA384_HMAC_GENERAL : t - val _CKM_SHA512 : t - val _CKM_SHA512_HMAC : t - val _CKM_SHA512_HMAC_GENERAL : t - val _CKM_SECURID_KEY_GEN : t - val _CKM_SECURID : t - val _CKM_HOTP_KEY_GEN : t - val _CKM_HOTP : t - val _CKM_ACTI : t - val _CKM_ACTI_KEY_GEN : t - val _CKM_CAST_KEY_GEN : t - val _CKM_CAST_ECB : t - val _CKM_CAST_CBC : t - val _CKM_CAST_MAC : t - val _CKM_CAST_MAC_GENERAL : t - val _CKM_CAST_CBC_PAD : t - val _CKM_CAST3_KEY_GEN : t - val _CKM_CAST3_ECB : t - val _CKM_CAST3_CBC : t - val _CKM_CAST3_MAC : t - val _CKM_CAST3_MAC_GENERAL : t - val _CKM_CAST3_CBC_PAD : t - val _CKM_CAST128_KEY_GEN : t - val _CKM_CAST128_ECB : t - val _CKM_CAST128_CBC : t - val _CKM_CAST128_MAC : t - val _CKM_CAST128_MAC_GENERAL : t - val _CKM_CAST128_CBC_PAD : t - val _CKM_RC5_KEY_GEN : t - val _CKM_RC5_ECB : t - val _CKM_RC5_CBC : t - val _CKM_RC5_MAC : t - val _CKM_RC5_MAC_GENERAL : t - val _CKM_RC5_CBC_PAD : t - val _CKM_IDEA_KEY_GEN : t - val _CKM_IDEA_ECB : t - val _CKM_IDEA_CBC : t - val _CKM_IDEA_MAC : t - val _CKM_IDEA_MAC_GENERAL : t - val _CKM_IDEA_CBC_PAD : t - val _CKM_GENERIC_SECRET_KEY_GEN : t - val _CKM_CONCATENATE_BASE_AND_KEY : t - val _CKM_CONCATENATE_BASE_AND_DATA : t - val _CKM_CONCATENATE_DATA_AND_BASE : t - val _CKM_XOR_BASE_AND_DATA : t - val _CKM_EXTRACT_KEY_FROM_KEY : t - val _CKM_SSL3_PRE_MASTER_KEY_GEN : t - val _CKM_SSL3_MASTER_KEY_DERIVE : t - val _CKM_SSL3_KEY_AND_MAC_DERIVE : t - val _CKM_SSL3_MASTER_KEY_DERIVE_DH : t - val _CKM_TLS_PRE_MASTER_KEY_GEN : t - val _CKM_TLS_MASTER_KEY_DERIVE : t - val _CKM_TLS_KEY_AND_MAC_DERIVE : t - val _CKM_TLS_MASTER_KEY_DERIVE_DH : t - val _CKM_TLS_PRF : t - val _CKM_SSL3_MD5_MAC : t - val _CKM_SSL3_SHA1_MAC : t - val _CKM_MD5_KEY_DERIVATION : t - val _CKM_MD2_KEY_DERIVATION : t - val _CKM_SHA1_KEY_DERIVATION : t - val _CKM_SHA256_KEY_DERIVATION : t - val _CKM_SHA384_KEY_DERIVATION : t - val _CKM_SHA512_KEY_DERIVATION : t - val _CKM_SHA224_KEY_DERIVATION : t - val _CKM_PBE_MD2_DES_CBC : t - val _CKM_PBE_MD5_DES_CBC : t - val _CKM_PBE_MD5_CAST_CBC : t - val _CKM_PBE_MD5_CAST3_CBC : t - val _CKM_PBE_MD5_CAST128_CBC : t - val _CKM_PBE_SHA1_CAST128_CBC : t - val _CKM_PBE_SHA1_RC4_128 : t - val _CKM_PBE_SHA1_RC4_40 : t - val _CKM_PBE_SHA1_DES3_EDE_CBC : t - val _CKM_PBE_SHA1_DES2_EDE_CBC : t - val _CKM_PBE_SHA1_RC2_128_CBC : t - val _CKM_PBE_SHA1_RC2_40_CBC : t - val _CKM_PKCS5_PBKD2 : t - val _CKM_PBA_SHA1_WITH_SHA1_HMAC : t - val _CKM_WTLS_PRE_MASTER_KEY_GEN : t - val _CKM_WTLS_MASTER_KEY_DERIVE : t - val _CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC : t - val _CKM_WTLS_PRF : t - val _CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE : t - val _CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE : t - val _CKM_KEY_WRAP_LYNKS : t - val _CKM_KEY_WRAP_SET_OAEP : t - val _CKM_CMS_SIG : t - val _CKM_KIP_DERIVE : t - val _CKM_KIP_WRAP : t - val _CKM_KIP_MAC : t - val _CKM_CAMELLIA_KEY_GEN : t - val _CKM_CAMELLIA_ECB : t - val _CKM_CAMELLIA_CBC : t - val _CKM_CAMELLIA_MAC : t - val _CKM_CAMELLIA_MAC_GENERAL : t - val _CKM_CAMELLIA_CBC_PAD : t - val _CKM_CAMELLIA_ECB_ENCRYPT_DATA : t - val _CKM_CAMELLIA_CBC_ENCRYPT_DATA : t - val _CKM_CAMELLIA_CTR : t - val _CKM_ARIA_KEY_GEN : t - val _CKM_ARIA_ECB : t - val _CKM_ARIA_CBC : t - val _CKM_ARIA_MAC : t - val _CKM_ARIA_MAC_GENERAL : t - val _CKM_ARIA_CBC_PAD : t - val _CKM_ARIA_ECB_ENCRYPT_DATA : t - val _CKM_ARIA_CBC_ENCRYPT_DATA : t - val _CKM_SKIPJACK_KEY_GEN : t - val _CKM_SKIPJACK_ECB64 : t - val _CKM_SKIPJACK_CBC64 : t - val _CKM_SKIPJACK_OFB64 : t - val _CKM_SKIPJACK_CFB64 : t - val _CKM_SKIPJACK_CFB32 : t - val _CKM_SKIPJACK_CFB16 : t - val _CKM_SKIPJACK_CFB8 : t - val _CKM_SKIPJACK_WRAP : t - val _CKM_SKIPJACK_PRIVATE_WRAP : t - val _CKM_SKIPJACK_RELAYX : t - val _CKM_KEA_KEY_PAIR_GEN : t - val _CKM_KEA_KEY_DERIVE : t - val _CKM_FORTEZZA_TIMESTAMP : t - val _CKM_BATON_KEY_GEN : t - val _CKM_BATON_ECB128 : t - val _CKM_BATON_ECB96 : t - val _CKM_BATON_CBC128 : t - val _CKM_BATON_COUNTER : t - val _CKM_BATON_SHUFFLE : t - val _CKM_BATON_WRAP : t - val _CKM_EC_KEY_PAIR_GEN : t - val _CKM_ECDSA : t - val _CKM_ECDSA_SHA1 : t - val _CKM_ECDH1_DERIVE : t - val _CKM_ECDH1_COFACTOR_DERIVE : t - val _CKM_ECMQV_DERIVE : t - val _CKM_JUNIPER_KEY_GEN : t - val _CKM_JUNIPER_ECB128 : t - val _CKM_JUNIPER_CBC128 : t - val _CKM_JUNIPER_COUNTER : t - val _CKM_JUNIPER_SHUFFLE : t - val _CKM_JUNIPER_WRAP : t - val _CKM_FASTHASH : t - val _CKM_AES_KEY_GEN : t - val _CKM_AES_ECB : t - val _CKM_AES_CBC : t - val _CKM_AES_MAC : t - val _CKM_AES_MAC_GENERAL : t - val _CKM_AES_CBC_PAD : t - val _CKM_AES_CTR : t - val _CKM_AES_GCM : t - val _CKM_BLOWFISH_KEY_GEN : t - val _CKM_BLOWFISH_CBC : t - val _CKM_TWOFISH_KEY_GEN : t - val _CKM_TWOFISH_CBC : t - val _CKM_DES_ECB_ENCRYPT_DATA : t - val _CKM_DES_CBC_ENCRYPT_DATA : t - val _CKM_DES3_ECB_ENCRYPT_DATA : t - val _CKM_DES3_CBC_ENCRYPT_DATA : t - val _CKM_AES_ECB_ENCRYPT_DATA : t - val _CKM_AES_CBC_ENCRYPT_DATA : t - val _CKM_DSA_PARAMETER_GEN : t - val _CKM_DH_PKCS_PARAMETER_GEN : t - val _CKM_X9_42_DH_PARAMETER_GEN : t - val _CKM_GOSTR3410_KEY_PAIR_GEN : t - val _CKM_GOSTR3410 : t - val _CKM_GOSTR3410_WITH_GOSTR3411 : t - val _CKM_GOSTR3411 : t - val _CKM_GOSTR3411_HMAC : t - val _CKM_AES_KEY_WRAP : t - val _CKM_VENDOR_DEFINED : t - val typ : t Ctypes.typ - val view : t -> P11_mechanism_type.t - val make : P11_mechanism_type.t -> t diff --git a/driver/pkcs11_CK_OBJECT_CLASS.ml b/driver/pkcs11_CK_OBJECT_CLASS.ml index bea7dbc..2919d99 100644 --- a/driver/pkcs11_CK_OBJECT_CLASS.ml +++ b/driver/pkcs11_CK_OBJECT_CLASS.ml @@ -1,27 +1,16 @@ type t = P11_ulong.t let typ = Ctypes.ulong - let with_value x = Unsigned.ULong.of_string @@ Int64.to_string x - let _CKO_DATA = with_value 0x00000000L - let _CKO_CERTIFICATE = with_value 0x00000001L - let _CKO_PUBLIC_KEY = with_value 0x00000002L - let _CKO_PRIVATE_KEY = with_value 0x00000003L - let _CKO_SECRET_KEY = with_value 0x00000004L - let _CKO_HW_FEATURE = with_value 0x00000005L - let _CKO_DOMAIN_PARAMETERS = with_value 0x00000006L - let _CKO_MECHANISM = with_value 0x00000007L - let _CKO_OTP_KEY = with_value 0x00000008L - let _CKO_VENDOR_DEFINED = with_value 0x80000000L let make = diff --git a/driver/pkcs11_CK_OBJECT_CLASS.mli b/driver/pkcs11_CK_OBJECT_CLASS.mli index 4c3cfed..d77b102 100644 --- a/driver/pkcs11_CK_OBJECT_CLASS.mli +++ b/driver/pkcs11_CK_OBJECT_CLASS.mli @@ -3,27 +3,15 @@ type t = P11_ulong.t val _CKO_DATA : t - val _CKO_CERTIFICATE : t - val _CKO_PUBLIC_KEY : t - val _CKO_PRIVATE_KEY : t - val _CKO_SECRET_KEY : t - val _CKO_HW_FEATURE : t - val _CKO_DOMAIN_PARAMETERS : t - val _CKO_MECHANISM : t - val _CKO_OTP_KEY : t - val _CKO_VENDOR_DEFINED : t - val typ : t Ctypes.typ - val view : t -> P11_object_class.t - val make : P11_object_class.t -> t diff --git a/driver/pkcs11_CK_PKCS5_PBKD2_PARAMS.ml b/driver/pkcs11_CK_PKCS5_PBKD2_PARAMS.ml index ea2d551..d1206e4 100644 --- a/driver/pkcs11_CK_PKCS5_PBKD2_PARAMS.ml +++ b/driver/pkcs11_CK_PKCS5_PBKD2_PARAMS.ml @@ -2,32 +2,22 @@ open Ctypes open Ctypes_helpers type _t - type t = _t structure let t : t typ = structure "CK_PKCS5_PBKD2_DATA_PARAMS" - let ( -: ) typ label = smart_field t label typ let saltSource = Pkcs11_CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE.typ -: "saltSource" let pSaltSourceData = Reachable_ptr.typ void -: "pSaltSourceData" - let ulSaltSourceDataLen = ulong -: "ulSaltSourceDataLen" - let iterations = ulong -: "iterations" - let prf = Pkcs11_CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE.typ -: "prf" - let pPrfData = Reachable_ptr.typ void -: "pPrfData" - let ulPrfDataLen = ulong -: "ulPrfDataLen" - let pPassword = Reachable_ptr.typ char -: "pPassword" - let pPasswordLen = Reachable_ptr.typ ulong -: "pPasswordLen" - let () = seal t let make u = diff --git a/driver/pkcs11_CK_PKCS5_PBKD2_PARAMS.mli b/driver/pkcs11_CK_PKCS5_PBKD2_PARAMS.mli index 8b90858..2817a57 100644 --- a/driver/pkcs11_CK_PKCS5_PBKD2_PARAMS.mli +++ b/driver/pkcs11_CK_PKCS5_PBKD2_PARAMS.mli @@ -4,7 +4,5 @@ type _t type t = _t Ctypes.structure val make : P11_pkcs5_pbkd2_data_params.t -> t - val view : t -> P11_pkcs5_pbkd2_data_params.t - val t : t Ctypes.typ diff --git a/driver/pkcs11_CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE.ml b/driver/pkcs11_CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE.ml index 6a17f50..6eb476e 100644 --- a/driver/pkcs11_CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE.ml +++ b/driver/pkcs11_CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE.ml @@ -1,7 +1,6 @@ type t = P11_ulong.t [@@deriving eq] let ( ! ) x = Unsigned.ULong.of_string (Int64.to_string x) - let _CKP_PKCS5_PBKD2_HMAC_SHA1 : t = !0x00000001L let view ul = diff --git a/driver/pkcs11_CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE.mli b/driver/pkcs11_CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE.mli index 5f45b11..7bfc794 100644 --- a/driver/pkcs11_CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE.mli +++ b/driver/pkcs11_CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE.mli @@ -2,9 +2,6 @@ type t = P11_ulong.t val _CKP_PKCS5_PBKD2_HMAC_SHA1 : t - val make : P11_pkcs5_pbkd2_pseudo_random_function_type.t -> t - val view : t -> P11_pkcs5_pbkd2_pseudo_random_function_type.t - val typ : t Ctypes.typ diff --git a/driver/pkcs11_CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE.ml b/driver/pkcs11_CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE.ml index 673ac0c..1331f72 100644 --- a/driver/pkcs11_CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE.ml +++ b/driver/pkcs11_CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE.ml @@ -1,7 +1,6 @@ type t = P11_ulong.t [@@deriving eq, ord] let ( ! ) x = Unsigned.ULong.of_string (Int64.to_string x) - let _CKZ_SALT_SPECIFIED : t = !0x00000001L let view ul = diff --git a/driver/pkcs11_CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE.mli b/driver/pkcs11_CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE.mli index 8234a5d..96acac3 100644 --- a/driver/pkcs11_CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE.mli +++ b/driver/pkcs11_CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE.mli @@ -2,9 +2,6 @@ type t = P11_ulong.t [@@deriving eq, ord] val _CKZ_SALT_SPECIFIED : t - val make : P11_pkcs5_pbkdf2_salt_source_type.t -> t - val view : t -> P11_pkcs5_pbkdf2_salt_source_type.t - val typ : t Ctypes.typ diff --git a/driver/pkcs11_CK_RSA_PKCS_MGF_TYPE.mli b/driver/pkcs11_CK_RSA_PKCS_MGF_TYPE.mli index e38295b..a121ba6 100644 --- a/driver/pkcs11_CK_RSA_PKCS_MGF_TYPE.mli +++ b/driver/pkcs11_CK_RSA_PKCS_MGF_TYPE.mli @@ -2,17 +2,10 @@ type t = P11_ulong.t [@@deriving ord] val _CKG_MGF1_SHA1 : t - val _CKG_MGF1_SHA256 : t - val _CKG_MGF1_SHA384 : t - val _CKG_MGF1_SHA512 : t - val _CKG_MGF1_SHA224 : t - val to_string : t -> string - val of_string : string -> t - val typ : t Ctypes.typ diff --git a/driver/pkcs11_CK_RSA_PKCS_OAEP_PARAMS.ml b/driver/pkcs11_CK_RSA_PKCS_OAEP_PARAMS.ml index 82d0d2b..e1cefe8 100644 --- a/driver/pkcs11_CK_RSA_PKCS_OAEP_PARAMS.ml +++ b/driver/pkcs11_CK_RSA_PKCS_OAEP_PARAMS.ml @@ -4,27 +4,18 @@ open Ctypes_helpers type source_type = P11_ulong.t let source_type : source_type typ = ulong - let _CKZ_DATA_SPECIFIED : source_type = Unsigned.ULong.of_int 0x00000001 type _t - type t = _t structure let t : t typ = structure "CK_RSA_PKCS_OAEP_PARAMS" - let ( -: ) ty label = smart_field t label ty - let hashAlg = Pkcs11_CK_MECHANISM_TYPE.typ -: "hashAlg" - let mgf = Pkcs11_CK_RSA_PKCS_MGF_TYPE.typ -: "mgf" - let source = source_type -: "source" - let pSourceData = Reachable_ptr.typ void -: "pSourceData" - let pSourceDataLen = ulong -: "pSourceDataLen" - let () = seal t let make params = diff --git a/driver/pkcs11_CK_RSA_PKCS_OAEP_PARAMS.mli b/driver/pkcs11_CK_RSA_PKCS_OAEP_PARAMS.mli index 910c962..28fc615 100644 --- a/driver/pkcs11_CK_RSA_PKCS_OAEP_PARAMS.mli +++ b/driver/pkcs11_CK_RSA_PKCS_OAEP_PARAMS.mli @@ -4,7 +4,5 @@ type _t type t = _t Ctypes.structure val make : P11_rsa_pkcs_oaep_params.t -> t - val view : t -> P11_rsa_pkcs_oaep_params.t - val t : t Ctypes.typ diff --git a/driver/pkcs11_CK_RSA_PKCS_PSS_PARAMS.ml b/driver/pkcs11_CK_RSA_PKCS_PSS_PARAMS.ml index 28f2ad2..b3eb7c3 100644 --- a/driver/pkcs11_CK_RSA_PKCS_PSS_PARAMS.ml +++ b/driver/pkcs11_CK_RSA_PKCS_PSS_PARAMS.ml @@ -1,19 +1,13 @@ open Ctypes type _t - type t = _t structure let t : t typ = structure "CK_RSA_PKCS_PSS_PARAMS" - let ( -: ) ty label = Ctypes_helpers.smart_field t label ty - let hashAlg = Pkcs11_CK_MECHANISM_TYPE.typ -: "hashAlg" - let mgf = Pkcs11_CK_RSA_PKCS_MGF_TYPE.typ -: "mgf" - let sLen = ulong -: "sLen" - let () = seal t let make params = diff --git a/driver/pkcs11_CK_RSA_PKCS_PSS_PARAMS.mli b/driver/pkcs11_CK_RSA_PKCS_PSS_PARAMS.mli index 660e723..9134e13 100644 --- a/driver/pkcs11_CK_RSA_PKCS_PSS_PARAMS.mli +++ b/driver/pkcs11_CK_RSA_PKCS_PSS_PARAMS.mli @@ -4,7 +4,5 @@ type _t type t = _t Ctypes.structure val make : P11_rsa_pkcs_pss_params.t -> t - val view : t -> P11_rsa_pkcs_pss_params.t - val t : t Ctypes.typ diff --git a/driver/pkcs11_CK_RV.ml b/driver/pkcs11_CK_RV.ml index e0d10c8..9781592 100644 --- a/driver/pkcs11_CK_RV.ml +++ b/driver/pkcs11_CK_RV.ml @@ -9,195 +9,100 @@ let typ = view ~read:identity ~write:identity ulong let with_value x = Unsigned.ULong.of_string @@ Int64.to_string x - let _CKR_OK = with_value 0x00000000L - let _CKR_CANCEL = with_value 0x00000001L - let _CKR_HOST_MEMORY = with_value 0x00000002L - let _CKR_SLOT_ID_INVALID = with_value 0x00000003L - let _CKR_GENERAL_ERROR = with_value 0x00000005L - let _CKR_FUNCTION_FAILED = with_value 0x00000006L - let _CKR_ARGUMENTS_BAD = with_value 0x00000007L - let _CKR_NO_EVENT = with_value 0x00000008L - let _CKR_NEED_TO_CREATE_THREADS = with_value 0x00000009L - let _CKR_CANT_LOCK = with_value 0x0000000AL - let _CKR_ATTRIBUTE_READ_ONLY = with_value 0x00000010L - let _CKR_ATTRIBUTE_SENSITIVE = with_value 0x00000011L - let _CKR_ATTRIBUTE_TYPE_INVALID = with_value 0x00000012L - let _CKR_ATTRIBUTE_VALUE_INVALID = with_value 0x00000013L - let _CKR_ACTION_PROHIBITED = with_value 0x0000001BL - let _CKR_DATA_INVALID = with_value 0x00000020L - let _CKR_DATA_LEN_RANGE = with_value 0x00000021L - let _CKR_DEVICE_ERROR = with_value 0x00000030L - let _CKR_DEVICE_MEMORY = with_value 0x00000031L - let _CKR_DEVICE_REMOVED = with_value 0x00000032L - let _CKR_ENCRYPTED_DATA_INVALID = with_value 0x00000040L - let _CKR_ENCRYPTED_DATA_LEN_RANGE = with_value 0x00000041L - let _CKR_FUNCTION_CANCELED = with_value 0x00000050L - let _CKR_FUNCTION_NOT_PARALLEL = with_value 0x00000051L - let _CKR_FUNCTION_NOT_SUPPORTED = with_value 0x00000054L - let _CKR_KEY_HANDLE_INVALID = with_value 0x00000060L - let _CKR_KEY_SIZE_RANGE = with_value 0x00000062L - let _CKR_KEY_TYPE_INCONSISTENT = with_value 0x00000063L - let _CKR_KEY_NOT_NEEDED = with_value 0x00000064L - let _CKR_KEY_CHANGED = with_value 0x00000065L - let _CKR_KEY_NEEDED = with_value 0x00000066L - let _CKR_KEY_INDIGESTIBLE = with_value 0x00000067L - let _CKR_KEY_FUNCTION_NOT_PERMITTED = with_value 0x00000068L - let _CKR_KEY_NOT_WRAPPABLE = with_value 0x00000069L - let _CKR_KEY_UNEXTRACTABLE = with_value 0x0000006AL - let _CKR_MECHANISM_INVALID = with_value 0x00000070L - let _CKR_MECHANISM_PARAM_INVALID = with_value 0x00000071L - let _CKR_OBJECT_HANDLE_INVALID = with_value 0x00000082L - let _CKR_OPERATION_ACTIVE = with_value 0x00000090L - let _CKR_OPERATION_NOT_INITIALIZED = with_value 0x00000091L - let _CKR_PIN_INCORRECT = with_value 0x000000A0L - let _CKR_PIN_INVALID = with_value 0x000000A1L - let _CKR_PIN_LEN_RANGE = with_value 0x000000A2L - let _CKR_PIN_EXPIRED = with_value 0x000000A3L - let _CKR_PIN_LOCKED = with_value 0x000000A4L - let _CKR_SESSION_CLOSED = with_value 0x000000B0L - let _CKR_SESSION_COUNT = with_value 0x000000B1L - let _CKR_SESSION_HANDLE_INVALID = with_value 0x000000B3L - let _CKR_SESSION_PARALLEL_NOT_SUPPORTED = with_value 0x000000B4L - let _CKR_SESSION_READ_ONLY = with_value 0x000000B5L - let _CKR_SESSION_EXISTS = with_value 0x000000B6L - let _CKR_SESSION_READ_ONLY_EXISTS = with_value 0x000000B7L - let _CKR_SESSION_READ_WRITE_SO_EXISTS = with_value 0x000000B8L - let _CKR_SIGNATURE_INVALID = with_value 0x000000C0L - let _CKR_SIGNATURE_LEN_RANGE = with_value 0x000000C1L - let _CKR_TEMPLATE_INCOMPLETE = with_value 0x000000D0L - let _CKR_TEMPLATE_INCONSISTENT = with_value 0x000000D1L - let _CKR_TOKEN_NOT_PRESENT = with_value 0x000000E0L - let _CKR_TOKEN_NOT_RECOGNIZED = with_value 0x000000E1L - let _CKR_TOKEN_WRITE_PROTECTED = with_value 0x000000E2L - let _CKR_UNWRAPPING_KEY_HANDLE_INVALID = with_value 0x000000F0L - let _CKR_UNWRAPPING_KEY_SIZE_RANGE = with_value 0x000000F1L - let _CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT = with_value 0x000000F2L - let _CKR_USER_ALREADY_LOGGED_IN = with_value 0x00000100L - let _CKR_USER_NOT_LOGGED_IN = with_value 0x00000101L - let _CKR_USER_PIN_NOT_INITIALIZED = with_value 0x00000102L - let _CKR_USER_TYPE_INVALID = with_value 0x00000103L - let _CKR_USER_ANOTHER_ALREADY_LOGGED_IN = with_value 0x00000104L - let _CKR_USER_TOO_MANY_TYPES = with_value 0x00000105L - let _CKR_WRAPPED_KEY_INVALID = with_value 0x00000110L - let _CKR_WRAPPED_KEY_LEN_RANGE = with_value 0x00000112L - let _CKR_WRAPPING_KEY_HANDLE_INVALID = with_value 0x00000113L - let _CKR_WRAPPING_KEY_SIZE_RANGE = with_value 0x00000114L - let _CKR_WRAPPING_KEY_TYPE_INCONSISTENT = with_value 0x00000115L - let _CKR_RANDOM_SEED_NOT_SUPPORTED = with_value 0x00000120L - let _CKR_RANDOM_NO_RNG = with_value 0x00000121L - let _CKR_DOMAIN_PARAMS_INVALID = with_value 0x00000130L - let _CKR_CURVE_NOT_SUPPORTED = with_value 0x00000140L - let _CKR_BUFFER_TOO_SMALL = with_value 0x00000150L - let _CKR_SAVED_STATE_INVALID = with_value 0x00000160L - let _CKR_INFORMATION_SENSITIVE = with_value 0x00000170L - let _CKR_STATE_UNSAVEABLE = with_value 0x00000180L - let _CKR_CRYPTOKI_NOT_INITIALIZED = with_value 0x00000190L - let _CKR_CRYPTOKI_ALREADY_INITIALIZED = with_value 0x00000191L - let _CKR_MUTEX_BAD = with_value 0x000001A0L - let _CKR_MUTEX_NOT_LOCKED = with_value 0x000001A1L - let _CKR_NEW_PIN_MODE = with_value 0x000001B0L - let _CKR_NEXT_OTP = with_value 0x000001B1L - let _CKR_EXCEEDED_MAX_ITERATIONS = with_value 0x000001B5L - let _CKR_FIPS_SELF_TEST_FAILED = with_value 0x000001B6L - let _CKR_LIBRARY_LOAD_FAILED = with_value 0x000001B7L - let _CKR_PIN_TOO_WEAK = with_value 0x000001B8L - let _CKR_PUBLIC_KEY_INVALID = with_value 0x000001B9L - let _CKR_FUNCTION_REJECTED = with_value 0x00000200L - let _CKR_VENDOR_DEFINED = with_value 0x80000000L let make u = diff --git a/driver/pkcs11_CK_RV.mli b/driver/pkcs11_CK_RV.mli index 3bb8eab..cc9b9e0 100644 --- a/driver/pkcs11_CK_RV.mli +++ b/driver/pkcs11_CK_RV.mli @@ -2,197 +2,100 @@ type t = P11_ulong.t [@@deriving eq, ord] val _CKR_OK : t - val _CKR_CANCEL : t - val _CKR_HOST_MEMORY : t - val _CKR_SLOT_ID_INVALID : t - val _CKR_GENERAL_ERROR : t - val _CKR_FUNCTION_FAILED : t - val _CKR_ARGUMENTS_BAD : t - val _CKR_NO_EVENT : t - val _CKR_NEED_TO_CREATE_THREADS : t - val _CKR_CANT_LOCK : t - val _CKR_ATTRIBUTE_READ_ONLY : t - val _CKR_ATTRIBUTE_SENSITIVE : t - val _CKR_ATTRIBUTE_TYPE_INVALID : t - val _CKR_ATTRIBUTE_VALUE_INVALID : t - val _CKR_ACTION_PROHIBITED : t - val _CKR_DATA_INVALID : t - val _CKR_DATA_LEN_RANGE : t - val _CKR_DEVICE_ERROR : t - val _CKR_DEVICE_MEMORY : t - val _CKR_DEVICE_REMOVED : t - val _CKR_ENCRYPTED_DATA_INVALID : t - val _CKR_ENCRYPTED_DATA_LEN_RANGE : t - val _CKR_FUNCTION_CANCELED : t - val _CKR_FUNCTION_NOT_PARALLEL : t - val _CKR_FUNCTION_NOT_SUPPORTED : t - val _CKR_KEY_HANDLE_INVALID : t - val _CKR_KEY_SIZE_RANGE : t - val _CKR_KEY_TYPE_INCONSISTENT : t - val _CKR_KEY_NOT_NEEDED : t - val _CKR_KEY_CHANGED : t - val _CKR_KEY_NEEDED : t - val _CKR_KEY_INDIGESTIBLE : t - val _CKR_KEY_FUNCTION_NOT_PERMITTED : t - val _CKR_KEY_NOT_WRAPPABLE : t - val _CKR_KEY_UNEXTRACTABLE : t - val _CKR_MECHANISM_INVALID : t - val _CKR_MECHANISM_PARAM_INVALID : t - val _CKR_OBJECT_HANDLE_INVALID : t - val _CKR_OPERATION_ACTIVE : t - val _CKR_OPERATION_NOT_INITIALIZED : t - val _CKR_PIN_INCORRECT : t - val _CKR_PIN_INVALID : t - val _CKR_PIN_LEN_RANGE : t - val _CKR_PIN_EXPIRED : t - val _CKR_PIN_LOCKED : t - val _CKR_SESSION_CLOSED : t - val _CKR_SESSION_COUNT : t - val _CKR_SESSION_HANDLE_INVALID : t - val _CKR_SESSION_PARALLEL_NOT_SUPPORTED : t - val _CKR_SESSION_READ_ONLY : t - val _CKR_SESSION_EXISTS : t - val _CKR_SESSION_READ_ONLY_EXISTS : t - val _CKR_SESSION_READ_WRITE_SO_EXISTS : t - val _CKR_SIGNATURE_INVALID : t - val _CKR_SIGNATURE_LEN_RANGE : t - val _CKR_TEMPLATE_INCOMPLETE : t - val _CKR_TEMPLATE_INCONSISTENT : t - val _CKR_TOKEN_NOT_PRESENT : t - val _CKR_TOKEN_NOT_RECOGNIZED : t - val _CKR_TOKEN_WRITE_PROTECTED : t - val _CKR_UNWRAPPING_KEY_HANDLE_INVALID : t - val _CKR_UNWRAPPING_KEY_SIZE_RANGE : t - val _CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT : t - val _CKR_USER_ALREADY_LOGGED_IN : t - val _CKR_USER_NOT_LOGGED_IN : t - val _CKR_USER_PIN_NOT_INITIALIZED : t - val _CKR_USER_TYPE_INVALID : t - val _CKR_USER_ANOTHER_ALREADY_LOGGED_IN : t - val _CKR_USER_TOO_MANY_TYPES : t - val _CKR_WRAPPED_KEY_INVALID : t - val _CKR_WRAPPED_KEY_LEN_RANGE : t - val _CKR_WRAPPING_KEY_HANDLE_INVALID : t - val _CKR_WRAPPING_KEY_SIZE_RANGE : t - val _CKR_WRAPPING_KEY_TYPE_INCONSISTENT : t - val _CKR_RANDOM_SEED_NOT_SUPPORTED : t - val _CKR_RANDOM_NO_RNG : t - val _CKR_DOMAIN_PARAMS_INVALID : t - val _CKR_CURVE_NOT_SUPPORTED : t - val _CKR_BUFFER_TOO_SMALL : t - val _CKR_SAVED_STATE_INVALID : t - val _CKR_INFORMATION_SENSITIVE : t - val _CKR_STATE_UNSAVEABLE : t - val _CKR_CRYPTOKI_NOT_INITIALIZED : t - val _CKR_CRYPTOKI_ALREADY_INITIALIZED : t - val _CKR_MUTEX_BAD : t - val _CKR_MUTEX_NOT_LOCKED : t - val _CKR_NEW_PIN_MODE : t - val _CKR_NEXT_OTP : t - val _CKR_EXCEEDED_MAX_ITERATIONS : t - val _CKR_FIPS_SELF_TEST_FAILED : t - val _CKR_LIBRARY_LOAD_FAILED : t - val _CKR_PIN_TOO_WEAK : t - val _CKR_PUBLIC_KEY_INVALID : t - val _CKR_FUNCTION_REJECTED : t - val _CKR_VENDOR_DEFINED : t - val typ : t Ctypes.typ - val view : t -> P11_rv.t - val make : P11_rv.t -> t diff --git a/driver/pkcs11_CK_SESSION_INFO.ml b/driver/pkcs11_CK_SESSION_INFO.ml index 81340f7..a3eb70d 100644 --- a/driver/pkcs11_CK_SESSION_INFO.ml +++ b/driver/pkcs11_CK_SESSION_INFO.ml @@ -1,21 +1,14 @@ open Ctypes type _t - type t = _t structure let ck_session_info : t typ = structure "CK_SESSION_INFO" - let ( -: ) ty label = Ctypes_helpers.smart_field ck_session_info label ty - let slotID = ulong -: "slotID" - let state = ulong -: "state" - let flags = Pkcs11_CK_FLAGS.typ -: "flags" - let ulDeviceError = ulong -: "ulDeviceError" - let () = seal ck_session_info let view c = diff --git a/driver/pkcs11_CK_SESSION_INFO.mli b/driver/pkcs11_CK_SESSION_INFO.mli index c8a8295..84c1e27 100644 --- a/driver/pkcs11_CK_SESSION_INFO.mli +++ b/driver/pkcs11_CK_SESSION_INFO.mli @@ -4,7 +4,5 @@ type _t type t = _t Ctypes.structure val make : P11_session_info.t -> t - val view : t -> P11_session_info.t - val ck_session_info : t Ctypes.typ diff --git a/driver/pkcs11_CK_SLOT_INFO.ml b/driver/pkcs11_CK_SLOT_INFO.ml index 3222e75..956ef97 100644 --- a/driver/pkcs11_CK_SLOT_INFO.ml +++ b/driver/pkcs11_CK_SLOT_INFO.ml @@ -2,23 +2,15 @@ open Ctypes open Ctypes_helpers type _t - type t = _t structure let ck_slot_info : t typ = structure "CK_SLOT_INFO" - let ( -: ) ty label = smart_field ck_slot_info label ty - let slotDescription = array 64 Pkcs11_CK_UTF8CHAR.typ -: "slotDescription" - let manufacturerID = array 32 Pkcs11_CK_UTF8CHAR.typ -: "manufacturerID" - let flags = Pkcs11_CK_FLAGS.typ -: "flags" - let hardwareVersion = Pkcs11_CK_VERSION.ck_version -: "hardwareVersion" - let firmwareVersion = Pkcs11_CK_VERSION.ck_version -: "firmwareVersion" - let () = seal ck_slot_info let view c = diff --git a/driver/pkcs11_CK_SLOT_INFO.mli b/driver/pkcs11_CK_SLOT_INFO.mli index 3e0e3af..594fc18 100644 --- a/driver/pkcs11_CK_SLOT_INFO.mli +++ b/driver/pkcs11_CK_SLOT_INFO.mli @@ -4,7 +4,5 @@ type _t type t = _t Ctypes.structure val make : P11_slot_info.t -> t - val view : t -> P11_slot_info.t - val ck_slot_info : t Ctypes.typ diff --git a/driver/pkcs11_CK_TOKEN_INFO.ml b/driver/pkcs11_CK_TOKEN_INFO.ml index 642acf4..8a7036d 100644 --- a/driver/pkcs11_CK_TOKEN_INFO.ml +++ b/driver/pkcs11_CK_TOKEN_INFO.ml @@ -2,44 +2,27 @@ open Ctypes open Ctypes_helpers type _t - type t = _t structure let ck_token_info : t typ = structure "CK_TOKEN_INFO" - let ( -: ) ty label = smart_field ck_token_info label ty - let label = array 32 Pkcs11_CK_UTF8CHAR.typ -: "label" (* blank padded *) - let manufacturerID = array 32 Pkcs11_CK_UTF8CHAR.typ -: "manufacturerID" (* blank padded *) let model = array 16 Pkcs11_CK_UTF8CHAR.typ -: "model" (* blank padded *) - let serialNumber = array 16 char -: "serialNumber" (* blank padded *) - let flags = Pkcs11_CK_FLAGS.typ -: "flags" - let ulMaxSessionCount = ulong -: "ulMaxSessionCount" (* max open sessions *) - let ulSessionCount = ulong -: "ulSessionCount" (* sess. now open *) - let ulMaxRwSessionCount = ulong -: "ulMaxRwSessionCount" (* max R/W sessions *) - let ulRwSessionCount = ulong -: "ulRwSessionCount" (* R/W sess. now open *) - let ulMaxPinLen = ulong -: "ulMaxPinLen" (* in bytes *) - let ulMinPinLen = ulong -: "ulMinPinLen" (* in bytes *) - let ulTotalPublicMemory = ulong -: "ulTotalPublicMemory" (* in bytes *) - let ulFreePublicMemory = ulong -: "ulFreePublicMemory" (* in bytes *) - let ulTotalPrivateMemory = ulong -: "ulTotalPrivateMemory" (* in bytes *) - let ulFreePrivateMemory = ulong -: "ulFreePrivateMemory" (* in bytes *) - let hardwareVersion = Pkcs11_CK_VERSION.ck_version -: "hardwareVersion" (* version of hardware *) @@ -47,7 +30,6 @@ let firmwareVersion = Pkcs11_CK_VERSION.ck_version -: "firmwareVersion" (* version of firmware *) let utcTime = array 16 char -: "utcTime" (* time *) - let () = seal ck_token_info let view c = diff --git a/driver/pkcs11_CK_TOKEN_INFO.mli b/driver/pkcs11_CK_TOKEN_INFO.mli index f0e76b2..af2f085 100644 --- a/driver/pkcs11_CK_TOKEN_INFO.mli +++ b/driver/pkcs11_CK_TOKEN_INFO.mli @@ -4,7 +4,5 @@ type _t type t = _t Ctypes.structure val make : P11_token_info.t -> t - val view : t -> P11_token_info.t - val ck_token_info : t Ctypes.typ diff --git a/driver/pkcs11_CK_USER_TYPE.ml b/driver/pkcs11_CK_USER_TYPE.ml index de09370..769dd35 100644 --- a/driver/pkcs11_CK_USER_TYPE.ml +++ b/driver/pkcs11_CK_USER_TYPE.ml @@ -1,13 +1,9 @@ type t = P11_ulong.t let view_error n = Pkcs11_log.log @@ Printf.sprintf "Unknown CKU code: 0x%Lx" n - let typ = Ctypes.ulong - let _CKU_SO = Unsigned.ULong.of_string (Int64.to_string 0L) - let _CKU_USER = Unsigned.ULong.of_string (Int64.to_string 1L) - let _CKU_CONTEXT_SPECIFIC = Unsigned.ULong.of_string (Int64.to_string 2L) let make u = diff --git a/driver/pkcs11_CK_USER_TYPE.mli b/driver/pkcs11_CK_USER_TYPE.mli index 0b38aa0..8ff6bbb 100644 --- a/driver/pkcs11_CK_USER_TYPE.mli +++ b/driver/pkcs11_CK_USER_TYPE.mli @@ -2,13 +2,8 @@ type t = P11_ulong.t val _CKU_SO : t - val _CKU_USER : t - val _CKU_CONTEXT_SPECIFIC : t - val make : P11_user_type.t -> t - val view : t -> P11_user_type.t - val typ : t Ctypes.typ diff --git a/driver/pkcs11_CK_VERSION.ml b/driver/pkcs11_CK_VERSION.ml index 714fa43..db6d5b1 100644 --- a/driver/pkcs11_CK_VERSION.ml +++ b/driver/pkcs11_CK_VERSION.ml @@ -1,17 +1,12 @@ open Ctypes type _t - type t = _t structure let ck_version : t typ = structure "CK_VERSION" - let ( -: ) ty label = Ctypes_helpers.smart_field ck_version label ty - let major = Pkcs11_CK_BYTE.typ -: "major" - let minor = Pkcs11_CK_BYTE.typ -: "minor" - let () = seal ck_version let view c = diff --git a/driver/pkcs11_CK_VERSION.mli b/driver/pkcs11_CK_VERSION.mli index adf8404..3fdf373 100644 --- a/driver/pkcs11_CK_VERSION.mli +++ b/driver/pkcs11_CK_VERSION.mli @@ -2,7 +2,5 @@ type t val make : P11_version.t -> t - val view : t -> P11_version.t - val ck_version : t Ctypes.typ diff --git a/driver/pkcs11_data.ml b/driver/pkcs11_data.ml index 3176dd8..8dd1632 100644 --- a/driver/pkcs11_data.ml +++ b/driver/pkcs11_data.ml @@ -10,7 +10,6 @@ let get_length t = !@(t.length) let get_content t = t.content - let get_length_addr (t : t) : P11_ulong.t ptr = t.length let string_from_ptr ~length x = diff --git a/driver/pkcs11_data.mli b/driver/pkcs11_data.mli index b197c54..8ee886b 100644 --- a/driver/pkcs11_data.mli +++ b/driver/pkcs11_data.mli @@ -13,9 +13,7 @@ type t val to_string : t -> string - val of_string : string -> t - val string_of_raw : 'a Ctypes.ptr -> Unsigned.ULong.t -> string val create : unit -> t @@ -27,7 +25,5 @@ val allocate : t -> unit to freshly allocated memory. *) val get_content : t -> Pkcs11_CK_BYTE.t Ctypes.ptr - val get_length : t -> P11_ulong.t - val get_length_addr : t -> P11_ulong.t Ctypes.ptr diff --git a/driver/pkcs11_key_gen_mechanism.mli b/driver/pkcs11_key_gen_mechanism.mli index 68e2d0c..3ae5146 100644 --- a/driver/pkcs11_key_gen_mechanism.mli +++ b/driver/pkcs11_key_gen_mechanism.mli @@ -2,5 +2,4 @@ type t = P11_ulong.t val make : P11_key_gen_mechanism.t -> t - val view : t -> P11_key_gen_mechanism.t diff --git a/driver/pkcs11_log.ml b/driver/pkcs11_log.ml index 14828ce..d1be43e 100644 --- a/driver/pkcs11_log.ml +++ b/driver/pkcs11_log.ml @@ -1,5 +1,3 @@ let logging_function = ref ignore - let set_logging_function f = logging_function := f - let log s = !logging_function s diff --git a/driver/pkcs11_mechanism_list.ml b/driver/pkcs11_mechanism_list.ml index 5d60f61..a3a9b5d 100644 --- a/driver/pkcs11_mechanism_list.ml +++ b/driver/pkcs11_mechanism_list.ml @@ -9,9 +9,7 @@ type t = type u = P11_mechanism_type.t list let get_length (t : t) : P11_ulong.t = !@(t.length) - let get_content (t : t) : Pkcs11_CK_MECHANISM_TYPE.t ptr = t.content - let get_length_addr (t : t) : P11_ulong.t ptr = t.length let create () : t = diff --git a/driver/pkcs11_mechanism_list.mli b/driver/pkcs11_mechanism_list.mli index fc17946..3e4e78a 100644 --- a/driver/pkcs11_mechanism_list.mli +++ b/driver/pkcs11_mechanism_list.mli @@ -23,9 +23,6 @@ val of_raw : type u = P11_mechanism_type.t list val make : u -> t - val view : t -> u - val get_content : t -> Pkcs11_CK_MECHANISM_TYPE.t Ctypes.ptr - val get_length_addr : t -> P11_ulong.t Ctypes.ptr diff --git a/driver/pkcs11_slot_list.ml b/driver/pkcs11_slot_list.ml index f0e89b1..bf012c0 100644 --- a/driver/pkcs11_slot_list.ml +++ b/driver/pkcs11_slot_list.ml @@ -9,9 +9,7 @@ type t = type u = Pkcs11_CK_SLOT_ID.t list let get_length (t : t) : P11_ulong.t = !@(t.length) - let get_content (t : t) : Pkcs11_CK_SLOT_ID.t ptr = t.content - let get_length_addr (t : t) : P11_ulong.t ptr = t.length let create () : t = diff --git a/driver/pkcs11_slot_list.mli b/driver/pkcs11_slot_list.mli index dc1e973..9331685 100644 --- a/driver/pkcs11_slot_list.mli +++ b/driver/pkcs11_slot_list.mli @@ -20,9 +20,6 @@ val allocate : t -> unit type u = Pkcs11_CK_SLOT_ID.t list val make : u -> t - val view : t -> u - val get_content : t -> Pkcs11_CK_SLOT_ID.t Ctypes.ptr - val get_length_addr : t -> P11_ulong.t Ctypes.ptr diff --git a/driver/pkcs11_template.ml b/driver/pkcs11_template.ml index 63a609b..2287b26 100644 --- a/driver/pkcs11_template.ml +++ b/driver/pkcs11_template.ml @@ -15,7 +15,6 @@ let allocate t = () let to_list (t : t) = Ctypes.CArray.to_list t - let view t = Ctypes.CArray.to_list t |> List.map Pkcs11_CK_ATTRIBUTE.view let make u : t = diff --git a/driver/pkcs11_template.mli b/driver/pkcs11_template.mli index 053075d..cc2c85d 100644 --- a/driver/pkcs11_template.mli +++ b/driver/pkcs11_template.mli @@ -2,11 +2,7 @@ type t = Pkcs11_CK_ATTRIBUTE.t Ctypes.carray val of_list : Pkcs11_CK_ATTRIBUTE.t list -> t - val allocate : t -> unit - val to_list : t -> Pkcs11_CK_ATTRIBUTE.t list - val make : P11_template.t -> t - val view : t -> P11_template.t diff --git a/driver/pkcs11_types.ml b/driver/pkcs11_types.ml index c68cb15..0f41c13 100644 --- a/driver/pkcs11_types.ml +++ b/driver/pkcs11_types.ml @@ -67,8 +67,10 @@ module CK_AES_CBC_ENCRYPT_DATA_PARAMS = module CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE = Pkcs11_CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE + module CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE = Pkcs11_CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE + module CK_PKCS5_PBKD2_PARAMS = Pkcs11_CK_PKCS5_PBKD2_PARAMS module CK_EC_KDF_TYPE = Pkcs11_CK_EC_KDF_TYPE module CK_ECDH1_DERIVE_PARAMS = Pkcs11_CK_ECDH1_DERIVE_PARAMS @@ -86,54 +88,32 @@ module CK_AES_CTR_PARAMS = Pkcs11_CK_AES_CTR_PARAMS module CK_GCM_PARAMS = Pkcs11_CK_GCM_PARAMS let ck_byte = CK_BYTE.typ - let utf8char = ck_byte - let ck_utf8char = char - let ck_bbool = ck_byte - let ck_flags = CK_FLAGS.typ - let ck_object_class = CK_OBJECT_CLASS.typ - let ck_version = CK_VERSION.ck_version - let ck_session_handle = CK_SESSION_HANDLE.typ - let ck_object_handle = CK_OBJECT_HANDLE.typ - let ck_hw_feature_type = CK_HW_FEATURE_TYPE.typ - let ck_slot_id = CK_SLOT_ID.typ - let ck_slot_info = CK_SLOT_INFO.ck_slot_info - let ck_mechanism_info = CK_MECHANISM_INFO.ck_mechanism_info - let ck_session_info = CK_SESSION_INFO.ck_session_info - let ck_rv = CK_RV.typ - let ck_mechanism_type = CK_MECHANISM_TYPE.typ - let ck_rsa_pkcs_mgf_type = CK_RSA_PKCS_MGF_TYPE.typ - let ck_pkcs5_pbkdf2_salt_source_type = CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE.typ let ck_pkcs5_pbkd2_pseudo_random_function_type = CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE.typ let ck_mechanism : CK_MECHANISM.t typ = CK_MECHANISM.ck_mechanism - let ck_user_type = CK_USER_TYPE.typ - let ck_info = CK_INFO.ck_info - let ck_token_info = CK_TOKEN_INFO.ck_token_info - let ck_attribute_type = CK_ATTRIBUTE_TYPE.typ - let ck_attribute = CK_ATTRIBUTE.ck_attribute type template = Template.t @@ -142,27 +122,17 @@ module Initialize_arg = struct let mutex = void type _ck_c_initialize_args - type t = _ck_c_initialize_args structure let t : t typ = structure "CK_C_INITIALIZE_ARGS" - let ( -: ) ty label = Ctypes_helpers.smart_field t label ty - let f typ = Foreign.funptr (typ @-> returning ck_rv) - let createMutex = f (ptr (ptr mutex)) -: "CreateMutex" - let destroyMutex = f (ptr mutex) -: "DestroyMutex" - let lockMutex = f (ptr mutex) -: "LockMutex" - let unlockMutex = f (ptr mutex) -: "UnlockMutex" - let flags = ck_flags -: "flags" - let pReserved = ptr void -: "pReserved" - let () = seal t end @@ -170,29 +140,18 @@ module Nss_initialize_arg = struct let mutex = void type _ck_nss_c_initialize_args - type t = _ck_nss_c_initialize_args structure let t : t typ = structure "CK_NSS_C_INITIALIZE_ARGS" - let ( -: ) ty label = Ctypes_helpers.smart_field t label ty - let f typ = Foreign.funptr_opt (typ @-> returning ck_rv) - let createMutex = f (ptr (ptr mutex)) -: "CreateMutex" - let destroyMutex = f (ptr mutex) -: "DestroyMutex" - let lockMutex = f (ptr mutex) -: "LockMutex" - let unlockMutex = f (ptr mutex) -: "UnlockMutex" - let flags = ck_flags -: "flags" - let libraryParameters = Ctypes.string_opt -: "LibraryParameters" - let pReserved = ptr void -: "pReserved" - let () = seal t type u = string @@ -214,32 +173,26 @@ end (******************************************************************************) type _ck_function_list - type ck_function_list = _ck_function_list structure let ck_function_list : ck_function_list typ = structure "CK_FUNCTION_LIST" module CK_NOTIFY : sig type u - type t = u ptr val u : u typ - val t : u ptr typ end = struct type u = unit - type t = u Ctypes.ptr let u = void - let t = Ctypes.typedef (ptr void) "CK_NOTIFY" end module CK = struct let notify = CK_NOTIFY.t - let session_info = ulong (** This module contains the type declarations for the API functions. *) @@ -250,7 +203,6 @@ module CK = struct type 'a return val ( @-> ) : 'a Ctypes.typ -> 'b fn -> ('a -> 'b) fn - val returning : 'a Ctypes.typ -> 'a return fn end) = struct @@ -261,16 +213,13 @@ module CK = struct ptr void @-> returning ck_rv let c_Finalize = ptr void @-> returning ck_rv - let c_GetInfo = ptr ck_info @-> returning ck_rv - let c_GetFunctionList = ptr (ptr ck_function_list) @-> returning ck_rv let c_GetSlotList = ck_bbool @-> ptr ck_slot_id @-> ptr ulong @-> returning ck_rv let c_GetSlotInfo = ck_slot_id @-> ptr ck_slot_info @-> returning ck_rv - let c_GetTokenInfo = ck_slot_id @-> ptr ck_token_info @-> returning ck_rv let c_GetMechanismList = @@ -305,7 +254,6 @@ module CK = struct @-> returning ck_rv let c_CloseSession = ck_session_handle @-> returning ck_rv - let c_CloseAllSessions = ck_slot_id @-> returning ck_rv let c_GetSessionInfo = @@ -612,7 +560,6 @@ module CK = struct ck_session_handle @-> ptr ck_byte @-> ulong @-> returning ck_rv let c_GetFunctionStatus = ck_session_handle @-> returning ck_rv - let c_CancelFunction = ck_session_handle @-> returning ck_rv let c_WaitForSlotEvent = @@ -621,11 +568,9 @@ module CK = struct module T = TF (struct type 'a fn = 'a Ctypes.fn - type 'a return = 'a let ( @-> ) = Ctypes.( @-> ) - let returning = Ctypes.returning end) @@ -639,111 +584,58 @@ module CK = struct Ctypes_helpers.smart_field ck_function_list "version" ck_version let c_Initialize = T.c_Initialize -: "C_Initialize" - let c_Finalize = T.c_Finalize -: "C_Finalize" - let c_GetInfo = T.c_GetInfo -: "C_GetInfo" - let c_GetFunction_list = T.c_GetFunctionList -: "C_GetFunctionList" - let c_GetSlotList = T.c_GetSlotList -: "C_GetSlotList" - let c_GetSlotInfo = T.c_GetSlotInfo -: "C_GetSlotInfo" - let c_GetTokenInfo = T.c_GetTokenInfo -: "C_GetTokenInfo" - let c_GetMechanismList = T.c_GetMechanismList -: "C_GetMechanismList" - let c_GetMechanismInfo = T.c_GetMechanismInfo -: "C_GetMechanismInfo" - let c_InitToken = T.c_InitToken -: "C_InitToken" - let c_InitPIN = T.c_InitPIN -: "C_InitPIN" - let c_SetPIN = T.c_SetPIN -: "C_SetPIN" - let c_OpenSession = T.c_OpenSession -: "C_OpenSession" - let c_CloseSession = T.c_CloseSession -: "C_CloseSession" - let c_CloseAllSessions = T.c_CloseAllSessions -: "C_CloseAllSessions" - let c_GetSessionInfo = T.c_GetSessionInfo -: "C_GetSessionInfo" - let c_GetOperationState = T.c_GetOperationState -: "C_GetOperationState" - let c_SetOperationState = T.c_SetOperationState -: "C_SetOperationState" - let c_Login = T.c_Login -: "C_Login" - let c_Logout = T.c_Logout -: "C_Logout" - let c_CreateObject = T.c_CreateObject -: "C_CreateObject" - let c_CopyObject = T.c_CopyObject -: "C_CopyObject" - let c_DestroyObject = T.c_DestroyObject -: "C_DestroyObject" - let c_GetObjectSize = T.c_GetObjectSize -: "C_GetObjectSize" - let c_GetAttributeValue = T.c_GetAttributeValue -: "C_GetAttributeValue" - let c_SetAttributeValue = T.c_SetAttributeValue -: "C_SetAttributeValue" - let c_FindObjectsInit = T.c_FindObjectsInit -: "C_FindObjectsInit" - let c_FindObjects = T.c_FindObjects -: "C_FindObjects" - let c_FindObjectsFinal = T.c_FindObjectsFinal -: "C_FindObjectsFinal" - let c_EncryptInit = T.c_EncryptInit -: "C_EncryptInit" - let c_Encrypt = T.c_Encrypt -: "C_Encrypt" - let c_EncryptUpdate = T.c_EncryptUpdate -: "C_EncryptUpdate" - let c_EncryptFinal = T.c_EncryptFinal -: "C_EncryptFinal" - let c_DecryptInit = T.c_DecryptInit -: "C_DecryptInit" - let c_Decrypt = T.c_Decrypt -: "C_Decrypt" - let c_DecryptUpdate = T.c_DecryptUpdate -: "C_DecryptUpdate" - let c_DecryptFinal = T.c_DecryptFinal -: "C_DecryptFinal" - let c_DigestInit = T.c_DigestInit -: "C_DigestInit" - let c_Digest = T.c_Digest -: "C_Digest" - let c_DigestUpdate = T.c_DigestUpdate -: "C_DigestUpdate" - let c_DigestKey = T.c_DigestKey -: "C_DigestKey" - let c_DigestFinal = T.c_DigestFinal -: "C_DigestFinal" - let c_SignInit = T.c_SignInit -: "C_SignInit" - let c_Sign = T.c_Sign -: "C_Sign" - let c_SignUpdate = T.c_SignUpdate -: "C_SignUpdate" - let c_SignFinal = T.c_SignFinal -: "C_SignFinal" - let c_SignRecoverInit = T.c_SignRecoverInit -: "C_SignRecoverInit" - let c_SignRecover = T.c_SignRecover -: "C_SignRecover" - let c_VerifyInit = T.c_VerifyInit -: "C_VerifyInit" - let c_Verify = T.c_Verify -: "C_Verify" - let c_VerifyUpdate = T.c_VerifyUpdate -: "C_VerifyUpdate" - let c_VerifyFinal = T.c_VerifyFinal -: "C_VerifyFinal" - let c_VerifyRecoverInit = T.c_VerifyRecoverInit -: "C_VerifyRecoverInit" - let c_VerifyRecover = T.c_VerifyRecover -: "C_VerifyRecover" let c_DigestEncryptUpdate = @@ -758,25 +650,15 @@ module CK = struct T.c_DecryptVerifyUpdate -: "C_DecryptVerifyUpdate" let c_GenerateKey = T.c_GenerateKey -: "C_GenerateKey" - let c_GenerateKeyPair = T.c_GenerateKeyPair -: "C_GenerateKeyPair" - let c_WrapKey = T.c_WrapKey -: "C_WrapKey" - let c_UnwrapKey = T.c_UnwrapKey -: "C_UnwrapKey" - let c_DeriveKey = T.c_DeriveKey -: "C_DeriveKey" - let c_SeedRandom = T.c_SeedRandom -: "C_SeedRandom" - let c_GenerateRandom = T.c_GenerateRandom -: "C_GenerateRandom" - let c_GetFunctionStatus = T.c_GetFunctionStatus -: "C_GetFunctionStatus" - let c_CancelFunction = T.c_CancelFunction -: "C_CancelFunction" - let c_WaitForSlotEvent = T.c_WaitForSlotEvent -: "C_WaitForSlotEvent" - let () = seal ck_function_list end end diff --git a/lib/p11.ml b/lib/p11.ml index 1e7e938..87646d8 100644 --- a/lib/p11.ml +++ b/lib/p11.ml @@ -18,8 +18,10 @@ module RSA_PKCS_PSS_params = P11_rsa_pkcs_pss_params module AES_CBC_ENCRYPT_DATA_params = P11_aes_cbc_encrypt_data_params module DES_CBC_ENCRYPT_DATA_params = P11_des_cbc_encrypt_data_params module PKCS5_PBKDF2_SALT_SOURCE_type = P11_pkcs5_pbkdf2_salt_source_type + module PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_type = P11_pkcs5_pbkd2_pseudo_random_function_type + module PKCS5_PBKD2_DATA_params = P11_pkcs5_pbkd2_data_params module Ecdh1_derive_params = P11_ecdh1_derive_params module Mechanism = P11_mechanism diff --git a/lib/p11.mli b/lib/p11.mli index affeaa0..9737a6c 100644 --- a/lib/p11.mli +++ b/lib/p11.mli @@ -23,8 +23,10 @@ module Mechanism_type = P11_mechanism_type module Object_class = P11_object_class module Object_handle = P11_object_handle module PKCS5_PBKD2_DATA_params = P11_pkcs5_pbkd2_data_params + module PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_type = P11_pkcs5_pbkd2_pseudo_random_function_type + module PKCS5_PBKDF2_SALT_SOURCE_type = P11_pkcs5_pbkdf2_salt_source_type module RSA_PKCS_MGF_type = P11_rsa_pkcs_mgf_type module RSA_PKCS_OAEP_params = P11_rsa_pkcs_oaep_params diff --git a/lib/p11_aes_ctr_params.ml b/lib/p11_aes_ctr_params.ml index ed81b22..55b5daf 100644 --- a/lib/p11_aes_ctr_params.ml +++ b/lib/p11_aes_ctr_params.ml @@ -4,5 +4,4 @@ type t = [@@deriving eq, make, ord, show, yojson] let bits x = x.bits - let block x = x.block diff --git a/lib/p11_aes_ctr_params.mli b/lib/p11_aes_ctr_params.mli index faabd53..fe3e845 100644 --- a/lib/p11_aes_ctr_params.mli +++ b/lib/p11_aes_ctr_params.mli @@ -13,7 +13,5 @@ type t [@@deriving eq, ord, show, yojson] val make : bits:P11_ulong.t -> block:string -> t - val bits : t -> P11_ulong.t - val block : t -> string diff --git a/lib/p11_aes_key_wrap_params.ml b/lib/p11_aes_key_wrap_params.ml index f634316..68c71c8 100644 --- a/lib/p11_aes_key_wrap_params.ml +++ b/lib/p11_aes_key_wrap_params.ml @@ -1,7 +1,5 @@ type t = P11_hex_data.t option [@@deriving eq, ord, show, yojson] let default = None - let explicit iv = Some iv - let explicit_iv x = x diff --git a/lib/p11_attribute.ml b/lib/p11_attribute.ml index 101086b..1c1675a 100644 --- a/lib/p11_attribute.ml +++ b/lib/p11_attribute.ml @@ -1,5 +1,4 @@ type 'a t = 'a P11_attribute_type.t * 'a - type pack = Pack : 'a t -> pack type _ repr = @@ -154,7 +153,6 @@ let pack_of_yojson json : (pack, string) result = | _ -> Error "Ill-formed attribute" let pack_to_yojson (Pack x) = to_json x - let compare_types (a, _) (b, _) = P11_attribute_type.compare a b let compare_types_pack (Pack (a, _)) (Pack (b, _)) = @@ -186,17 +184,10 @@ let compare (type a b) ((ta, va) : a t) ((tb, vb) : b t) = | Equal -> compare_using_repr (repr ta) va vb let compare_pack (Pack a) (Pack b) = compare a b - let equal a b = compare a b = 0 - let equal_pack (Pack a) (Pack b) = equal a b - let equal_types_pack a b = compare_types_pack a b = 0 - let equal_values a v1 v2 = equal (a, v1) (a, v2) - let show_pack (Pack attr) = to_string attr - let pp_pack fmt pack = Format.pp_print_string fmt (show_pack pack) - let type_ (Pack (ty, _)) = P11_attribute_type.Pack ty diff --git a/lib/p11_attribute.mli b/lib/p11_attribute.mli index 925caa8..72f5667 100644 --- a/lib/p11_attribute.mli +++ b/lib/p11_attribute.mli @@ -1,25 +1,15 @@ type 'a t = 'a P11_attribute_type.t * 'a - type pack = Pack : 'a t -> pack [@@deriving eq, ord, show, yojson] val to_string : 'a t -> string - val to_string_pair : 'a t -> string * string - val to_json : 'a t -> Yojson.Safe.t - val compare_types : 'a t -> 'b t -> int - val compare_types_pack : pack -> pack -> int - val compare : 'a t -> 'b t -> int - val equal : 'a t -> 'b t -> bool - val equal_types_pack : pack -> pack -> bool - val equal_values : 'a P11_attribute_type.t -> 'a -> 'a -> bool - val type_ : pack -> P11_attribute_type.pack type _ repr = diff --git a/lib/p11_attribute_type.ml b/lib/p11_attribute_type.ml index 07913e2..66d1060 100644 --- a/lib/p11_attribute_type.ml +++ b/lib/p11_attribute_type.ml @@ -168,203 +168,104 @@ let of_string = function module Encoding = struct let ( ! ) x = Unsigned.ULong.of_string (Int64.to_string x) - let ckf_ARRAY_ATTRIBUTE = 0x40000000L - let _CKA_CLASS = !0x00000000L - let _CKA_TOKEN = !0x00000001L - let _CKA_PRIVATE = !0x00000002L - let _CKA_LABEL = !0x00000003L - let _CKA_APPLICATION = !0x00000010L - let _CKA_VALUE = !0x00000011L - let _CKA_OBJECT_ID = !0x00000012L - let _CKA_CERTIFICATE_TYPE = !0x00000080L - let _CKA_ISSUER = !0x00000081L - let _CKA_SERIAL_NUMBER = !0x00000082L - let _CKA_AC_ISSUER = !0x00000083L - let _CKA_OWNER = !0x00000084L - let _CKA_ATTR_TYPES = !0x00000085L - let _CKA_TRUSTED = !0x00000086L - let _CKA_CERTIFICATE_CATEGORY = !0x00000087L - let _CKA_JAVA_MIDP_SECURITY_DOMAIN = !0x00000088L - let _CKA_URL = !0x00000089L - let _CKA_HASH_OF_SUBJECT_PUBLIC_KEY = !0x0000008AL - let _CKA_HASH_OF_ISSUER_PUBLIC_KEY = !0x0000008BL - let _CKA_CHECK_VALUE = !0x00000090L - let _CKA_KEY_TYPE = !0x00000100L - let _CKA_SUBJECT = !0x00000101L - let _CKA_ID = !0x00000102L - let _CKA_SENSITIVE = !0x00000103L - let _CKA_ENCRYPT = !0x00000104L - let _CKA_DECRYPT = !0x00000105L - let _CKA_WRAP = !0x00000106L - let _CKA_UNWRAP = !0x00000107L - let _CKA_SIGN = !0x00000108L - let _CKA_SIGN_RECOVER = !0x00000109L - let _CKA_VERIFY = !0x0000010AL - let _CKA_VERIFY_RECOVER = !0x0000010BL - let _CKA_DERIVE = !0x0000010CL - let _CKA_START_DATE = !0x00000110L - let _CKA_END_DATE = !0x00000111L - let _CKA_MODULUS = !0x00000120L - let _CKA_MODULUS_BITS = !0x00000121L - let _CKA_PUBLIC_EXPONENT = !0x00000122L - let _CKA_PRIVATE_EXPONENT = !0x00000123L - let _CKA_PRIME_1 = !0x00000124L - let _CKA_PRIME_2 = !0x00000125L - let _CKA_EXPONENT_1 = !0x00000126L - let _CKA_EXPONENT_2 = !0x00000127L - let _CKA_COEFFICIENT = !0x00000128L - let _CKA_PRIME = !0x00000130L - let _CKA_SUBPRIME = !0x00000131L - let _CKA_BASE = !0x00000132L - let _CKA_PRIME_BITS = !0x00000133L - let _CKA_SUBPRIME_BITS = !0x00000134L - let _CKA_VALUE_BITS = !0x00000160L - let _CKA_VALUE_LEN = !0x00000161L - let _CKA_EXTRACTABLE = !0x00000162L - let _CKA_LOCAL = !0x00000163L - let _CKA_NEVER_EXTRACTABLE = !0x00000164L - let _CKA_ALWAYS_SENSITIVE = !0x00000165L - let _CKA_KEY_GEN_MECHANISM = !0x00000166L - let _CKA_MODIFIABLE = !0x00000170L - let _CKA_EC_PARAMS = !0x00000180L - let _CKA_EC_POINT = !0x00000181L - let _CKA_SECONDARY_AUTH = !0x00000200L - let _CKA_AUTH_PIN_FLAGS = !0x00000201L - let _CKA_ALWAYS_AUTHENTICATE = !0x00000202L - let _CKA_WRAP_WITH_TRUSTED = !0x00000210L - let _CKA_WRAP_TEMPLATE = !(Int64.logor ckf_ARRAY_ATTRIBUTE 0x00000211L) - let _CKA_UNWRAP_TEMPLATE = !(Int64.logor ckf_ARRAY_ATTRIBUTE 0x00000212L) - let _CKA_OTP_FORMAT = !0x00000220L - let _CKA_OTP_LENGTH = !0x00000221L - let _CKA_OTP_TIME_INTERVAL = !0x00000222L - let _CKA_OTP_USER_FRIENDLY_MODE = !0x00000223L - let _CKA_OTP_CHALLENGE_REQUIREMENT = !0x00000224L - let _CKA_OTP_TIME_REQUIREMENT = !0x00000225L - let _CKA_OTP_COUNTER_REQUIREMENT = !0x00000226L - let _CKA_OTP_PIN_REQUIREMENT = !0x00000227L - let _CKA_OTP_COUNTER = !0x0000022EL - let _CKA_OTP_TIME = !0x0000022FL - let _CKA_OTP_USER_IDENTIFIER = !0x0000022AL - let _CKA_OTP_SERVICE_IDENTIFIER = !0x0000022BL - let _CKA_OTP_SERVICE_LOGO = !0x0000022CL - let _CKA_OTP_SERVICE_LOGO_TYPE = !0x0000022DL - let _CKA_HW_FEATURE_TYPE = !0x00000300L - let _CKA_RESET_ON_INIT = !0x00000301L - let _CKA_HAS_RESET = !0x00000302L - let _CKA_PIXEL_X = !0x00000400L - let _CKA_PIXEL_Y = !0x00000401L - let _CKA_RESOLUTION = !0x00000402L - let _CKA_CHAR_ROWS = !0x00000403L - let _CKA_CHAR_COLUMNS = !0x00000404L - let _CKA_COLOR = !0x00000405L - let _CKA_BITS_PER_PIXEL = !0x00000406L - let _CKA_CHAR_SETS = !0x00000480L - let _CKA_ENCODING_METHODS = !0x00000481L - let _CKA_MIME_TYPES = !0x00000482L - let _CKA_MECHANISM_TYPE = !0x00000500L - let _CKA_REQUIRED_CMS_ATTRIBUTES = !0x00000501L - let _CKA_DEFAULT_CMS_ATTRIBUTES = !0x00000502L - let _CKA_SUPPORTED_CMS_ATTRIBUTES = !0x00000503L - let _CKA_ALLOWED_MECHANISMS = !(Int64.logor ckf_ARRAY_ATTRIBUTE 0x00000600L) - let _CKA_VENDOR_DEFINED = !0x80000000L let make (type s) (x : s t) : Unsigned.ULong.t = @@ -549,13 +450,9 @@ let compare' : type a b. a t -> b t -> (a, b) comparison = | (CKA_CS_UNKNOWN _, _) -> assert false let compare_pack (Pack a) (Pack b) = compare a b - let equal a b = compare a b = 0 - let equal_pack a b = compare_pack a b = 0 - let show_pack (Pack attribute) = to_string attribute - let pp_pack fmt pack = Format.pp_print_string fmt (show_pack pack) let to_json attribute = @@ -563,7 +460,6 @@ let to_json attribute = | Invalid_argument _ -> `Null let pack_to_json (Pack attribute) = to_json attribute - let pack_to_yojson = pack_to_json let pack_of_yojson = diff --git a/lib/p11_attribute_type.mli b/lib/p11_attribute_type.mli index 708705b..f7a872e 100644 --- a/lib/p11_attribute_type.mli +++ b/lib/p11_attribute_type.mli @@ -55,201 +55,103 @@ type 'a t = module Encoding : sig val _CKA_CLASS : Unsigned.ULong.t - val _CKA_TOKEN : Unsigned.ULong.t - val _CKA_PRIVATE : Unsigned.ULong.t - val _CKA_LABEL : Unsigned.ULong.t - val _CKA_APPLICATION : Unsigned.ULong.t - val _CKA_VALUE : Unsigned.ULong.t - val _CKA_OBJECT_ID : Unsigned.ULong.t - val _CKA_CERTIFICATE_TYPE : Unsigned.ULong.t - val _CKA_ISSUER : Unsigned.ULong.t - val _CKA_SERIAL_NUMBER : Unsigned.ULong.t - val _CKA_AC_ISSUER : Unsigned.ULong.t - val _CKA_OWNER : Unsigned.ULong.t - val _CKA_ATTR_TYPES : Unsigned.ULong.t - val _CKA_TRUSTED : Unsigned.ULong.t - val _CKA_CERTIFICATE_CATEGORY : Unsigned.ULong.t - val _CKA_JAVA_MIDP_SECURITY_DOMAIN : Unsigned.ULong.t - val _CKA_URL : Unsigned.ULong.t - val _CKA_HASH_OF_SUBJECT_PUBLIC_KEY : Unsigned.ULong.t - val _CKA_HASH_OF_ISSUER_PUBLIC_KEY : Unsigned.ULong.t - val _CKA_CHECK_VALUE : Unsigned.ULong.t - val _CKA_KEY_TYPE : Unsigned.ULong.t - val _CKA_SUBJECT : Unsigned.ULong.t - val _CKA_ID : Unsigned.ULong.t - val _CKA_SENSITIVE : Unsigned.ULong.t - val _CKA_ENCRYPT : Unsigned.ULong.t - val _CKA_DECRYPT : Unsigned.ULong.t - val _CKA_WRAP : Unsigned.ULong.t - val _CKA_UNWRAP : Unsigned.ULong.t - val _CKA_SIGN : Unsigned.ULong.t - val _CKA_SIGN_RECOVER : Unsigned.ULong.t - val _CKA_VERIFY : Unsigned.ULong.t - val _CKA_VERIFY_RECOVER : Unsigned.ULong.t - val _CKA_DERIVE : Unsigned.ULong.t - val _CKA_START_DATE : Unsigned.ULong.t - val _CKA_END_DATE : Unsigned.ULong.t - val _CKA_MODULUS : Unsigned.ULong.t - val _CKA_MODULUS_BITS : Unsigned.ULong.t - val _CKA_PUBLIC_EXPONENT : Unsigned.ULong.t - val _CKA_PRIVATE_EXPONENT : Unsigned.ULong.t - val _CKA_PRIME_1 : Unsigned.ULong.t - val _CKA_PRIME_2 : Unsigned.ULong.t - val _CKA_EXPONENT_1 : Unsigned.ULong.t - val _CKA_EXPONENT_2 : Unsigned.ULong.t - val _CKA_COEFFICIENT : Unsigned.ULong.t - val _CKA_PRIME : Unsigned.ULong.t - val _CKA_SUBPRIME : Unsigned.ULong.t - val _CKA_BASE : Unsigned.ULong.t - val _CKA_PRIME_BITS : Unsigned.ULong.t - val _CKA_SUBPRIME_BITS : Unsigned.ULong.t - val _CKA_VALUE_BITS : Unsigned.ULong.t - val _CKA_VALUE_LEN : Unsigned.ULong.t - val _CKA_EXTRACTABLE : Unsigned.ULong.t - val _CKA_LOCAL : Unsigned.ULong.t - val _CKA_NEVER_EXTRACTABLE : Unsigned.ULong.t - val _CKA_ALWAYS_SENSITIVE : Unsigned.ULong.t - val _CKA_KEY_GEN_MECHANISM : Unsigned.ULong.t - val _CKA_MODIFIABLE : Unsigned.ULong.t - val _CKA_EC_PARAMS : Unsigned.ULong.t - val _CKA_EC_POINT : Unsigned.ULong.t - val _CKA_SECONDARY_AUTH : Unsigned.ULong.t - val _CKA_AUTH_PIN_FLAGS : Unsigned.ULong.t - val _CKA_ALWAYS_AUTHENTICATE : Unsigned.ULong.t - val _CKA_WRAP_WITH_TRUSTED : Unsigned.ULong.t - val _CKA_WRAP_TEMPLATE : Unsigned.ULong.t - val _CKA_UNWRAP_TEMPLATE : Unsigned.ULong.t - val _CKA_OTP_FORMAT : Unsigned.ULong.t - val _CKA_OTP_LENGTH : Unsigned.ULong.t - val _CKA_OTP_TIME_INTERVAL : Unsigned.ULong.t - val _CKA_OTP_USER_FRIENDLY_MODE : Unsigned.ULong.t - val _CKA_OTP_CHALLENGE_REQUIREMENT : Unsigned.ULong.t - val _CKA_OTP_TIME_REQUIREMENT : Unsigned.ULong.t - val _CKA_OTP_COUNTER_REQUIREMENT : Unsigned.ULong.t - val _CKA_OTP_PIN_REQUIREMENT : Unsigned.ULong.t - val _CKA_OTP_COUNTER : Unsigned.ULong.t - val _CKA_OTP_TIME : Unsigned.ULong.t - val _CKA_OTP_USER_IDENTIFIER : Unsigned.ULong.t - val _CKA_OTP_SERVICE_IDENTIFIER : Unsigned.ULong.t - val _CKA_OTP_SERVICE_LOGO : Unsigned.ULong.t - val _CKA_OTP_SERVICE_LOGO_TYPE : Unsigned.ULong.t - val _CKA_HW_FEATURE_TYPE : Unsigned.ULong.t - val _CKA_RESET_ON_INIT : Unsigned.ULong.t - val _CKA_HAS_RESET : Unsigned.ULong.t - val _CKA_PIXEL_X : Unsigned.ULong.t - val _CKA_PIXEL_Y : Unsigned.ULong.t - val _CKA_RESOLUTION : Unsigned.ULong.t - val _CKA_CHAR_ROWS : Unsigned.ULong.t - val _CKA_CHAR_COLUMNS : Unsigned.ULong.t - val _CKA_COLOR : Unsigned.ULong.t - val _CKA_BITS_PER_PIXEL : Unsigned.ULong.t - val _CKA_CHAR_SETS : Unsigned.ULong.t - val _CKA_ENCODING_METHODS : Unsigned.ULong.t - val _CKA_MIME_TYPES : Unsigned.ULong.t - val _CKA_MECHANISM_TYPE : Unsigned.ULong.t - val _CKA_REQUIRED_CMS_ATTRIBUTES : Unsigned.ULong.t - val _CKA_DEFAULT_CMS_ATTRIBUTES : Unsigned.ULong.t - val _CKA_SUPPORTED_CMS_ATTRIBUTES : Unsigned.ULong.t - val _CKA_ALLOWED_MECHANISMS : Unsigned.ULong.t - val _CKA_VENDOR_DEFINED : Unsigned.ULong.t - val make : 'a t -> Unsigned.ULong.t end @@ -262,15 +164,9 @@ type (_, _) comparison = | Not_equal : int -> ('a, 'b) comparison val compare' : 'a t -> 'b t -> ('a, 'b) comparison - val equal : 'a t -> 'b t -> bool - val of_string : string -> pack - val to_string : 'a t -> string - val pack_to_json : pack -> Yojson.Safe.t - val elements : pack list - val known_attribute_types : string list diff --git a/lib/p11_bigint.ml b/lib/p11_bigint.ml index 19d8093..574cbf8 100644 --- a/lib/p11_bigint.ml +++ b/lib/p11_bigint.ml @@ -24,13 +24,9 @@ let string_remove_trailing c s = Also, Zarith adds trailing zeroes in Z.to_bits. *) let encode z = string_reverse @@ string_remove_trailing '\x00' @@ Z.to_bits z - let decode s = Z.of_bits @@ string_reverse s - let to_int = Z.to_int - let of_int = Z.of_int - let to_yojson z = P11_hex_data.to_yojson @@ encode z let of_yojson j = @@ -38,17 +34,10 @@ let of_yojson j = P11_hex_data.of_yojson j >|= decode let equal = Z.equal - let compare = Z.compare - let to_string = Z.to_string - let zero = Z.zero - let of_z z = z - let to_z z = z - let show = to_string - let pp fmt x = Format.fprintf fmt "%s" (show x) diff --git a/lib/p11_bigint.mli b/lib/p11_bigint.mli index 4e8551e..a2dee48 100644 --- a/lib/p11_bigint.mli +++ b/lib/p11_bigint.mli @@ -11,15 +11,9 @@ val encode : t -> string (** Convert to/from a big-endian byte array. *) val decode : string -> t - val to_int : t -> int - val of_int : int -> t - val to_string : t -> string - val zero : t - val of_z : Z.t -> t - val to_z : t -> Z.t diff --git a/lib/p11_flags.ml b/lib/p11_flags.ml index 492b476..a5c0a1c 100644 --- a/lib/p11_flags.ml +++ b/lib/p11_flags.ml @@ -1,19 +1,12 @@ type t = Unsigned.ULong.t [@@deriving ord] let equal = Stdlib.( = ) - let show = Unsigned.ULong.to_string - let pp fmt n = Format.pp_print_string fmt (show n) - let ( ! ) x = Unsigned.ULong.of_string (Int64.to_string x) - let empty = Unsigned.ULong.zero - let logical_or = Unsigned.ULong.logor - let ( || ) = logical_or - let logical_and = Unsigned.ULong.logand let get ~(flags : t) ~(flag : t) : bool = @@ -32,51 +25,31 @@ type domain = (* CK_SLOT_INFO *) let _CKF_TOKEN_PRESENT = !0x00000001L - let _CKF_REMOVABLE_DEVICE = !0x00000002L - let _CKF_HW_SLOT = !0x00000004L (* CK_TOKEN_INFO *) let _CKF_RNG = !0x00000001L - let _CKF_WRITE_PROTECTED = !0x00000002L - let _CKF_LOGIN_REQUIRED = !0x00000004L - let _CKF_USER_PIN_INITIALIZED = !0x00000008L - let _CKF_RESTORE_KEY_NOT_NEEDED = !0x00000020L - let _CKF_CLOCK_ON_TOKEN = !0x00000040L - let _CKF_PROTECTED_AUTHENTICATION_PATH = !0x00000100L - let _CKF_DUAL_CRYPTO_OPERATIONS = !0x00000200L - let _CKF_TOKEN_INITIALIZED = !0x00000400L - let _CKF_SECONDARY_AUTHENTICATION = !0x00000800L - let _CKF_USER_PIN_COUNT_LOW = !0x00010000L - let _CKF_USER_PIN_FINAL_TRY = !0x00020000L - let _CKF_USER_PIN_LOCKED = !0x00040000L - let _CKF_USER_PIN_TO_BE_CHANGED = !0x00080000L - let _CKF_SO_PIN_COUNT_LOW = !0x00100000L - let _CKF_SO_PIN_FINAL_TRY = !0x00200000L - let _CKF_SO_PIN_LOCKED = !0x00400000L - let _CKF_SO_PIN_TO_BE_CHANGED = !0x00800000L (* CK_SESSION_INFO *) let _CKF_RW_SESSION = !0x00000002L - let _CKF_SERIAL_SESSION = !0x00000004L (* The following flag is actually a bit which is present in CKA values @@ -85,48 +58,28 @@ let _CKF_ARRAY_ATTRIBUTE = !0x40000000L (* CK_MECHANISM_INFO *) let _CKF_HW = !0x00000001L - let _CKF_ENCRYPT = !0x00000100L - let _CKF_DECRYPT = !0x00000200L - let _CKF_DIGEST = !0x00000400L - let _CKF_SIGN = !0x00000800L - let _CKF_SIGN_RECOVER = !0x00001000L - let _CKF_VERIFY = !0x00002000L - let _CKF_VERIFY_RECOVER = !0x00004000L - let _CKF_GENERATE = !0x00008000L - let _CKF_GENERATE_KEY_PAIR = !0x00010000L - let _CKF_WRAP = !0x00020000L - let _CKF_UNWRAP = !0x00040000L - let _CKF_DERIVE = !0x00080000L - let _CKF_EC_F_P = !0x00100000L - let _CKF_EC_F_2M = !0x00200000L - let _CKF_EC_ECPARAMETERS = !0x00400000L - let _CKF_EC_NAMEDCURVE = !0x00800000L - let _CKF_EC_UNCOMPRESS = !0x01000000L - let _CKF_EC_COMPRESS = !0x02000000L - let _CKF_EXTENSION = !0x80000000L (* C_Initialize *) let _CKF_LIBRARY_CANT_CREATE_OS_THREADS = !0x00000001L - let _CKF_OS_LOCKING_OK = !0x00000002L (* C_WaitForSlotEvent *) @@ -134,19 +87,12 @@ let _CKF_DONT_BLOCK = !0x00000001L (* CK_OTP_SIGNATURE_INFO *) let _CKF_NEXT_OTP = !0x00000001L - let _CKF_EXCLUDE_TIME = !0x00000002L - let _CKF_EXCLUDE_COUNTER = !0x00000004L - let _CKF_EXCLUDE_CHALLENGE = !0x00000008L - let _CKF_EXCLUDE_PIN = !0x00000010L - let _CKF_USER_FRIENDLY_OTP = !0x00000020L - let to_string = Unsigned.ULong.to_string - let of_string = Unsigned.ULong.of_string let to_json ?pretty (flags : t) = diff --git a/lib/p11_flags.mli b/lib/p11_flags.mli index 0940739..8bc836c 100644 --- a/lib/p11_flags.mli +++ b/lib/p11_flags.mli @@ -12,129 +12,66 @@ type domain = | Any_domain val empty : t - val logical_or : t -> t -> t - val ( || ) : t -> t -> t - val get : flags:t -> flag:t -> bool - val _CKF_TOKEN_PRESENT : t - val _CKF_REMOVABLE_DEVICE : t - val _CKF_HW_SLOT : t - val _CKF_RNG : t - val _CKF_WRITE_PROTECTED : t - val _CKF_LOGIN_REQUIRED : t - val _CKF_USER_PIN_INITIALIZED : t - val _CKF_RESTORE_KEY_NOT_NEEDED : t - val _CKF_CLOCK_ON_TOKEN : t - val _CKF_PROTECTED_AUTHENTICATION_PATH : t - val _CKF_DUAL_CRYPTO_OPERATIONS : t - val _CKF_TOKEN_INITIALIZED : t - val _CKF_SECONDARY_AUTHENTICATION : t - val _CKF_USER_PIN_COUNT_LOW : t - val _CKF_USER_PIN_FINAL_TRY : t - val _CKF_USER_PIN_LOCKED : t - val _CKF_USER_PIN_TO_BE_CHANGED : t - val _CKF_SO_PIN_COUNT_LOW : t - val _CKF_SO_PIN_FINAL_TRY : t - val _CKF_SO_PIN_LOCKED : t - val _CKF_SO_PIN_TO_BE_CHANGED : t - val _CKF_RW_SESSION : t - val _CKF_SERIAL_SESSION : t - val _CKF_ARRAY_ATTRIBUTE : t - val _CKF_HW : t - val _CKF_ENCRYPT : t - val _CKF_DECRYPT : t - val _CKF_DIGEST : t - val _CKF_SIGN : t - val _CKF_SIGN_RECOVER : t - val _CKF_VERIFY : t - val _CKF_VERIFY_RECOVER : t - val _CKF_GENERATE : t - val _CKF_GENERATE_KEY_PAIR : t - val _CKF_WRAP : t - val _CKF_UNWRAP : t - val _CKF_DERIVE : t - val _CKF_EC_F_P : t - val _CKF_EC_F_2M : t - val _CKF_EC_ECPARAMETERS : t - val _CKF_EC_NAMEDCURVE : t - val _CKF_EC_UNCOMPRESS : t - val _CKF_EC_COMPRESS : t - val _CKF_EXTENSION : t - val _CKF_LIBRARY_CANT_CREATE_OS_THREADS : t - val _CKF_OS_LOCKING_OK : t - val _CKF_DONT_BLOCK : t - val _CKF_NEXT_OTP : t - val _CKF_EXCLUDE_TIME : t - val _CKF_EXCLUDE_COUNTER : t - val _CKF_EXCLUDE_CHALLENGE : t - val _CKF_EXCLUDE_PIN : t - val _CKF_USER_FRIENDLY_OTP : t - val to_string : t -> string - val of_string : string -> t - val to_pretty_string : domain -> t -> string - val to_pretty_strings : domain -> t -> string list - val to_json : ?pretty:(t -> string) -> t -> Yojson.Safe.t - val split : domain -> t -> t list * t - val flags_of_domain : domain -> (t * string) list diff --git a/lib/p11_gcm_params.ml b/lib/p11_gcm_params.ml index 566d4af..2854594 100644 --- a/lib/p11_gcm_params.ml +++ b/lib/p11_gcm_params.ml @@ -5,7 +5,5 @@ type t = [@@deriving eq, ord, make, show, yojson] let iv x = x.iv - let aad x = x.aad - let tag_bits x = x.tag_bits diff --git a/lib/p11_gcm_params.mli b/lib/p11_gcm_params.mli index 00b5b3e..414d4cd 100644 --- a/lib/p11_gcm_params.mli +++ b/lib/p11_gcm_params.mli @@ -11,9 +11,6 @@ type t [@@deriving eq, ord, show, yojson] val make : iv:string -> aad:string -> tag_bits:P11_ulong.t -> t - val iv : t -> string - val aad : t -> string - val tag_bits : t -> P11_ulong.t diff --git a/lib/p11_info.mli b/lib/p11_info.mli index 3b76ce8..83a2496 100644 --- a/lib/p11_info.mli +++ b/lib/p11_info.mli @@ -7,7 +7,5 @@ type t = [@@deriving eq, ord, show, yojson] val to_string : ?newlines:bool -> ?indent:string -> t -> string - val to_strings : t -> string list - val flags_to_string : P11_flags.t -> string diff --git a/lib/p11_key_gen_mechanism.mli b/lib/p11_key_gen_mechanism.mli index 09cda63..5e375d6 100644 --- a/lib/p11_key_gen_mechanism.mli +++ b/lib/p11_key_gen_mechanism.mli @@ -4,5 +4,4 @@ type t = [@@deriving eq, ord, show, yojson] val to_string : t -> string - val of_string : string -> t diff --git a/lib/p11_key_type.ml b/lib/p11_key_type.ml index bdc66b7..1ec2121 100644 --- a/lib/p11_key_type.ml +++ b/lib/p11_key_type.ml @@ -104,5 +104,4 @@ let of_string = function | _ -> invalid_arg ("Pkcs11_CK_KEY_TYPE.of_string" ^ ": cannot find " ^ x)) let to_yojson key_type = `String (to_string key_type) - let of_yojson = P11_helpers.of_json_string ~typename:"key type" of_string diff --git a/lib/p11_key_type.mli b/lib/p11_key_type.mli index 9cab4a5..9f560c6 100644 --- a/lib/p11_key_type.mli +++ b/lib/p11_key_type.mli @@ -35,5 +35,4 @@ type t = [@@deriving eq, ord, show, yojson] val of_string : string -> t - val to_string : t -> string diff --git a/lib/p11_load_mode.ml b/lib/p11_load_mode.ml index f035244..6f22f86 100644 --- a/lib/p11_load_mode.ml +++ b/lib/p11_load_mode.ml @@ -4,5 +4,4 @@ type t = [@@deriving eq, ord, show, yojson] let auto = Auto - let ffi = FFI diff --git a/lib/p11_mechanism.ml b/lib/p11_mechanism.ml index 3dadada..a8ece6d 100644 --- a/lib/p11_mechanism.ml +++ b/lib/p11_mechanism.ml @@ -482,5 +482,4 @@ let key_type = function None let to_string x = mechanism_type x |> P11_mechanism_type.to_string - let pp fmt m = Format.fprintf fmt "%s" @@ to_string m diff --git a/lib/p11_mechanism_info.ml b/lib/p11_mechanism_info.ml index a568bad..6fbc285 100644 --- a/lib/p11_mechanism_info.ml +++ b/lib/p11_mechanism_info.ml @@ -10,7 +10,6 @@ let allowed_flags = List.fold_left P11_flags.logical_or P11_flags.empty flags let flags_to_string = P11_flags.(to_pretty_string Mechanism_info_domain) - let flags_to_strings = P11_flags.(to_pretty_strings Mechanism_info_domain) let to_strings info = diff --git a/lib/p11_mechanism_info.mli b/lib/p11_mechanism_info.mli index f4d8df5..c660491 100644 --- a/lib/p11_mechanism_info.mli +++ b/lib/p11_mechanism_info.mli @@ -5,11 +5,8 @@ type t = [@@deriving eq, ord, show, yojson] val to_string : ?newlines:bool -> ?indent:string -> t -> string - val to_strings : t -> string list - val flags_to_string : P11_flags.t -> string - val flags_to_strings : P11_flags.t -> string list (* flags possible to set for mechanism infos, aggregated *) diff --git a/lib/p11_mechanism_type.mli b/lib/p11_mechanism_type.mli index 39e7d66..0ecff7c 100644 --- a/lib/p11_mechanism_type.mli +++ b/lib/p11_mechanism_type.mli @@ -327,7 +327,6 @@ type t = [@@deriving eq, ord, show, yojson] val to_string : t -> string - val of_string : string -> t val elements : t list diff --git a/lib/p11_object_class.ml b/lib/p11_object_class.ml index 7ef8a67..0ddd2cc 100644 --- a/lib/p11_object_class.ml +++ b/lib/p11_object_class.ml @@ -45,5 +45,4 @@ let of_string = function invalid_arg ("Pkcs11_CK_OBJECT_CLASS.of_string" ^ ": cannot find " ^ x)) let to_yojson object_class = `String (to_string object_class) - let of_yojson = P11_helpers.of_json_string ~typename:"object class" of_string diff --git a/lib/p11_object_class.mli b/lib/p11_object_class.mli index 610691f..d567cd5 100644 --- a/lib/p11_object_class.mli +++ b/lib/p11_object_class.mli @@ -15,5 +15,4 @@ type t = [@@deriving eq, ord, show, yojson] val of_string : string -> t - val to_string : t -> string diff --git a/lib/p11_pkcs5_pbkd2_pseudo_random_function_type.mli b/lib/p11_pkcs5_pbkd2_pseudo_random_function_type.mli index 8d074c8..f72aec9 100644 --- a/lib/p11_pkcs5_pbkd2_pseudo_random_function_type.mli +++ b/lib/p11_pkcs5_pbkd2_pseudo_random_function_type.mli @@ -1,5 +1,4 @@ type t = CKP_PKCS5_PBKD2_HMAC_SHA1 [@@deriving eq, ord, show, yojson] val to_string : t -> string - val of_string : string -> t diff --git a/lib/p11_rsa_pkcs_mgf_type.ml b/lib/p11_rsa_pkcs_mgf_type.ml index 10ce8da..c340947 100644 --- a/lib/p11_rsa_pkcs_mgf_type.ml +++ b/lib/p11_rsa_pkcs_mgf_type.ml @@ -1,15 +1,10 @@ type t = P11_ulong.t [@@deriving eq, ord, show] let ( ! ) x = Unsigned.ULong.of_string (Int64.to_string x) - let _CKG_MGF1_SHA1 : t = !0x00000001L - let _CKG_MGF1_SHA256 : t = !0x00000002L - let _CKG_MGF1_SHA384 : t = !0x00000003L - let _CKG_MGF1_SHA512 : t = !0x00000004L - let _CKG_MGF1_SHA224 : t = !0x00000005L let to_string ul = @@ -42,5 +37,4 @@ let to_json key_type = | Invalid_argument _ -> `Null let to_yojson = to_json - let of_yojson = P11_helpers.of_json_string ~typename:"MGF type" of_string diff --git a/lib/p11_rsa_pkcs_mgf_type.mli b/lib/p11_rsa_pkcs_mgf_type.mli index 86e8a48..80bd13f 100644 --- a/lib/p11_rsa_pkcs_mgf_type.mli +++ b/lib/p11_rsa_pkcs_mgf_type.mli @@ -1,15 +1,9 @@ type t = P11_ulong.t [@@deriving eq, ord, show, yojson] val _CKG_MGF1_SHA1 : t - val _CKG_MGF1_SHA256 : t - val _CKG_MGF1_SHA384 : t - val _CKG_MGF1_SHA512 : t - val _CKG_MGF1_SHA224 : t - val to_string : t -> string - val of_string : string -> t diff --git a/lib/p11_rv.mli b/lib/p11_rv.mli index 5891020..520fa37 100644 --- a/lib/p11_rv.mli +++ b/lib/p11_rv.mli @@ -98,5 +98,4 @@ type t = [@@deriving eq, ord, show, yojson] val to_string : t -> string - val of_string : string -> t diff --git a/lib/p11_session_handle.ml b/lib/p11_session_handle.ml index f623c5c..33eaf18 100644 --- a/lib/p11_session_handle.ml +++ b/lib/p11_session_handle.ml @@ -1,5 +1,4 @@ type t = P11_ulong.t [@@deriving eq, ord, show, yojson] let to_string = Unsigned.ULong.to_string - let hash x = Unsigned.ULong.to_int x diff --git a/lib/p11_session_handle.mli b/lib/p11_session_handle.mli index cb5eb04..dd5cea7 100644 --- a/lib/p11_session_handle.mli +++ b/lib/p11_session_handle.mli @@ -1,5 +1,4 @@ type t = P11_ulong.t [@@deriving eq, ord, show, yojson] val to_string : t -> string - val hash : t -> int diff --git a/lib/p11_session_info.mli b/lib/p11_session_info.mli index a6dcea8..697fc2e 100644 --- a/lib/p11_session_info.mli +++ b/lib/p11_session_info.mli @@ -6,5 +6,4 @@ type t = [@@deriving eq, ord, show, yojson] val to_string : ?newlines:bool -> ?indent:string -> t -> string - val to_strings : t -> string list diff --git a/lib/p11_slot.mli b/lib/p11_slot.mli index 5be8027..ce28c4f 100644 --- a/lib/p11_slot.mli +++ b/lib/p11_slot.mli @@ -6,5 +6,4 @@ type t = [@@deriving eq, ord, show, yojson] val default : t - val to_string : t -> string * string diff --git a/lib/p11_slot_id.ml b/lib/p11_slot_id.ml index d9adc0f..6d508eb 100644 --- a/lib/p11_slot_id.ml +++ b/lib/p11_slot_id.ml @@ -1,9 +1,7 @@ type t = Unsigned.ULong.t [@@deriving ord] let equal a b = compare a b = 0 - let show = Unsigned.ULong.to_string - let pp fmt n = Format.pp_print_string fmt (show n) let of_yojson = function @@ -11,7 +9,5 @@ let of_yojson = function | _ -> Error "ulong_of_yojson: not a string" let to_yojson ulong = `String (Unsigned.ULong.to_string ulong) - let to_string = Unsigned.ULong.to_string - let hash = Unsigned.ULong.to_int diff --git a/lib/p11_slot_id.mli b/lib/p11_slot_id.mli index 853d287..9c8dce7 100644 --- a/lib/p11_slot_id.mli +++ b/lib/p11_slot_id.mli @@ -1,5 +1,4 @@ type t = Unsigned.ULong.t [@@deriving eq, ord, show, yojson] val to_string : t -> string - val hash : t -> int diff --git a/lib/p11_slot_info.mli b/lib/p11_slot_info.mli index d526e0c..4581f55 100644 --- a/lib/p11_slot_info.mli +++ b/lib/p11_slot_info.mli @@ -7,7 +7,5 @@ type t = [@@deriving eq, ord, show, yojson] val to_string : ?newlines:bool -> ?indent:string -> t -> string - val to_strings : t -> string list - val flags_to_string : P11_flags.t -> string diff --git a/lib/p11_template.ml b/lib/p11_template.ml index 2a95ab7..98943f9 100644 --- a/lib/p11_template.ml +++ b/lib/p11_template.ml @@ -142,11 +142,7 @@ let diff ~source ~tested = empty source let to_string t = to_yojson t |> Yojson.Safe.to_string - let hash t = normalize t |> to_string |> Digest.string - let get_class t = get t P11_attribute_type.CKA_CLASS - let get_key_type t = get t P11_attribute_type.CKA_KEY_TYPE - let get_label t = get t P11_attribute_type.CKA_LABEL diff --git a/lib/p11_template.mli b/lib/p11_template.mli index 2ec17e6..3a80305 100644 --- a/lib/p11_template.mli +++ b/lib/p11_template.mli @@ -6,11 +6,8 @@ val get : t -> 'a P11_attribute_type.t -> 'a option (** Return the value of the first occurrence of an attribute. *) val get_pack : t -> P11_attribute_type.pack -> P11_attribute.pack option - val mem : P11_attribute.pack -> t -> bool - val normalize : t -> t - val attribute_types : t -> P11_attribute_type.pack list val set_attribute : P11_attribute.pack -> t -> t @@ -76,7 +73,5 @@ val hash : t -> Digest.t (** {2 Accessors } *) val get_class : t -> P11_object_class.t option - val get_key_type : t -> P11_key_type.t option - val get_label : t -> string option diff --git a/lib/p11_token_info.mli b/lib/p11_token_info.mli index bce0c7d..62973d0 100644 --- a/lib/p11_token_info.mli +++ b/lib/p11_token_info.mli @@ -24,7 +24,5 @@ val ul_to_string : Unsigned.ULong.t -> string [CK_UNAVAILABLE_INFORMATION]. *) val to_string : ?newlines:bool -> ?indent:string -> t -> string - val to_strings : t -> string list - val flags_to_string : P11_flags.t -> string diff --git a/lib/p11_ulong.ml b/lib/p11_ulong.ml index 494e8f9..63f712d 100644 --- a/lib/p11_ulong.ml +++ b/lib/p11_ulong.ml @@ -1,9 +1,7 @@ type t = Unsigned.ULong.t [@@deriving ord] let equal a b = compare a b = 0 - let show = Unsigned.ULong.to_string - let pp fmt n = Format.pp_print_string fmt (show n) let of_yojson = function @@ -11,11 +9,7 @@ let of_yojson = function | _ -> Error "ulong_of_yojson: not a string" let to_yojson ulong = `String (Unsigned.ULong.to_string ulong) - let _CK_UNAVAILABLE_INFORMATION = Unsigned.ULong.max_int - let _CK_EFFECTIVELY_INFINITE = Unsigned.ULong.zero - let is_unavailable_information t = compare t _CK_UNAVAILABLE_INFORMATION = 0 - let is_effectively_infinite t = compare t _CK_EFFECTIVELY_INFINITE = 0 diff --git a/lib/p11_ulong.mli b/lib/p11_ulong.mli index 580f6f6..4676bfd 100644 --- a/lib/p11_ulong.mli +++ b/lib/p11_ulong.mli @@ -8,5 +8,4 @@ val _CK_UNAVAILABLE_INFORMATION : t (** UNAVAILABLE INFORMATION constant specified in PKCS11 *) val is_effectively_infinite : t -> bool - val is_unavailable_information : t -> bool diff --git a/lib/p11_user_type.ml b/lib/p11_user_type.ml index c538e8b..5ba1ea3 100644 --- a/lib/p11_user_type.ml +++ b/lib/p11_user_type.ml @@ -21,5 +21,4 @@ let of_string = function | _ -> invalid_arg ("Pkcs11_CK_USER_TYPE.of_string: cannot find " ^ x)) let to_yojson user_type = `String (to_string user_type) - let of_yojson = P11_helpers.of_json_string ~typename:"user type" of_string diff --git a/lib/p11_user_type.mli b/lib/p11_user_type.mli index 4f02077..69b5a96 100644 --- a/lib/p11_user_type.mli +++ b/lib/p11_user_type.mli @@ -6,5 +6,4 @@ type t = [@@deriving eq, ord, show, yojson] val to_string : t -> string - val of_string : string -> t diff --git a/test/driver/test_ck_attribute.ml b/test/driver/test_ck_attribute.ml index cdb9549..35d7348 100644 --- a/test/driver/test_ck_attribute.ml +++ b/test/driver/test_ck_attribute.ml @@ -2,19 +2,12 @@ open OUnit2 module F = struct let object_class = P11_object_class.CKO_SECRET_KEY - let key_type = P11_key_type.CKK_AES - let bool = true - let string = "string" - let bigint = P11_bigint.of_int 65537 - let ulong = Unsigned.ULong.zero - let key_gen_mechanism = P11_key_gen_mechanism.CK_UNAVAILABLE_INFORMATION - let unknown_ckm = Unsigned.ULong.of_int 0x5555 end diff --git a/test/driver/test_p11_driver.ml b/test/driver/test_p11_driver.ml index e4b84d4..5c37a12 100644 --- a/test/driver/test_p11_driver.ml +++ b/test/driver/test_p11_driver.ml @@ -45,7 +45,6 @@ end module Mock_driver (M : Mock_driver_params) = struct module MDR : Mock_low_level_bindings = Mock_low_level_bindings (M) - include P11_driver.Wrap_low_level_bindings (MDR) let get_attribute_value_calls = MDR.get_attribute_value_calls @@ -56,7 +55,6 @@ let mock_driver (module M : Mock_driver_params) () = module Fixtures = struct let session_handle = Unsigned.ULong.zero - let object_handle = Unsigned.ULong.zero end