package pkcs11

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file p11_key_type.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
type raw = Unsigned.ULong.t
[@@deriving ord]

let equal_raw = Pervasives.(=)

type t =
  | CKK_RSA
  | CKK_DSA
  | CKK_DH
  | CKK_EC
  | CKK_X9_42_DH
  | CKK_KEA
  | CKK_GENERIC_SECRET
  | CKK_RC2
  | CKK_RC4
  | CKK_DES
  | CKK_DES2
  | CKK_DES3
  | CKK_CAST
  | CKK_CAST3
  | CKK_CAST128
  | CKK_RC5
  | CKK_IDEA
  | CKK_SKIPJACK
  | CKK_BATON
  | CKK_JUNIPER
  | CKK_CDMF
  | CKK_AES
  | CKK_BLOWFISH
  | CKK_TWOFISH
  | CKK_SECURID
  | CKK_HOTP
  | CKK_ACTI
  | CKK_CAMELLIA
  | CKK_ARIA
  | CKK_VENDOR_DEFINED
  | CKK_CS_UNKNOWN of raw
[@@deriving eq,ord]

let to_string =
  function
    | CKK_RSA  -> "CKK_RSA"
    | CKK_DSA  -> "CKK_DSA"
    | CKK_DH  -> "CKK_DH"
    | CKK_EC  -> "CKK_EC"
    | CKK_X9_42_DH  -> "CKK_X9_42_DH"
    | CKK_KEA  -> "CKK_KEA"
    | CKK_GENERIC_SECRET  -> "CKK_GENERIC_SECRET"
    | CKK_RC2  -> "CKK_RC2"
    | CKK_RC4  -> "CKK_RC4"
    | CKK_DES  -> "CKK_DES"
    | CKK_DES2  -> "CKK_DES2"
    | CKK_DES3  -> "CKK_DES3"
    | CKK_CAST  -> "CKK_CAST"
    | CKK_CAST3  -> "CKK_CAST3"
    | CKK_CAST128  -> "CKK_CAST128"
    | CKK_RC5  -> "CKK_RC5"
    | CKK_IDEA  -> "CKK_IDEA"
    | CKK_SKIPJACK  -> "CKK_SKIPJACK"
    | CKK_BATON  -> "CKK_BATON"
    | CKK_JUNIPER  -> "CKK_JUNIPER"
    | CKK_CDMF  -> "CKK_CDMF"
    | CKK_AES  -> "CKK_AES"
    | CKK_BLOWFISH  -> "CKK_BLOWFISH"
    | CKK_TWOFISH  -> "CKK_TWOFISH"
    | CKK_SECURID  -> "CKK_SECURID"
    | CKK_HOTP  -> "CKK_HOTP"
    | CKK_ACTI  -> "CKK_ACTI"
    | CKK_CAMELLIA  -> "CKK_CAMELLIA"
    | CKK_ARIA  -> "CKK_ARIA"
    | CKK_VENDOR_DEFINED  -> "CKK_VENDOR_DEFINED"
    | CKK_CS_UNKNOWN x -> Unsigned.ULong.to_string x

let of_string =
  function
    | "CKK_RSA" -> CKK_RSA
    | "CKK_DSA" -> CKK_DSA
    | "CKK_DH" -> CKK_DH
    | "CKK_EC" -> CKK_EC
    | "CKK_ECDSA" -> CKK_EC
    | "CKK_X9_42_DH" -> CKK_X9_42_DH
    | "CKK_KEA" -> CKK_KEA
    | "CKK_GENERIC_SECRET" -> CKK_GENERIC_SECRET
    | "CKK_RC2" -> CKK_RC2
    | "CKK_RC4" -> CKK_RC4
    | "CKK_DES" -> CKK_DES
    | "CKK_DES2" -> CKK_DES2
    | "CKK_DES3" -> CKK_DES3
    | "CKK_CAST" -> CKK_CAST
    | "CKK_CAST3" -> CKK_CAST3
    | "CKK_CAST128" -> CKK_CAST128
    | "CKK_CAST5" -> CKK_CAST128
    | "CKK_RC5" -> CKK_RC5
    | "CKK_IDEA" -> CKK_IDEA
    | "CKK_SKIPJACK" -> CKK_SKIPJACK
    | "CKK_BATON" -> CKK_BATON
    | "CKK_JUNIPER" -> CKK_JUNIPER
    | "CKK_CDMF" -> CKK_CDMF
    | "CKK_AES" -> CKK_AES
    | "CKK_BLOWFISH" -> CKK_BLOWFISH
    | "CKK_TWOFISH" -> CKK_TWOFISH
    | "CKK_SECURID" -> CKK_SECURID
    | "CKK_HOTP" -> CKK_HOTP
    | "CKK_ACTI" -> CKK_ACTI
    | "CKK_CAMELLIA" -> CKK_CAMELLIA
    | "CKK_ARIA" -> CKK_ARIA
    | "CKK_VENDOR_DEFINED" -> CKK_VENDOR_DEFINED
    | x -> (
        try CKK_CS_UNKNOWN (Unsigned.ULong.of_string x)
        with | Sys.Break  as e -> raise e
             | _ ->
               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