nss_sys/bindings/
pkcs11n.rs

1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5pub use crate::*;
6
7// https://searchfox.org/nss/rev/4d480919bbf204df5e199b9fdedec8f2a6295778/lib/util/pkcs11n.h#27
8pub const NSSCK_VENDOR_NSS: u32 = 0x4E534350;
9
10pub const CKM_NSS: u32 = CKM_VENDOR_DEFINED | NSSCK_VENDOR_NSS;
11pub const CKM_NSS_HKDF_SHA256: u32 = CKM_NSS + 4;
12pub const CKM_NSS_HKDF_SHA384: u32 = CKM_NSS + 5;
13
14pub type CK_GCM_PARAMS = CK_GCM_PARAMS_V3;
15#[repr(C)]
16pub struct CK_GCM_PARAMS_V3 {
17    pub pIv: CK_BYTE_PTR,
18    pub ulIvLen: CK_ULONG,
19    pub ulIvBits: CK_ULONG,
20    pub pAAD: CK_BYTE_PTR,
21    pub ulAADLen: CK_ULONG,
22    pub ulTagBits: CK_ULONG,
23}
24#[repr(C)]
25pub struct CK_NSS_HKDFParams {
26    pub bExtract: CK_BBOOL,
27    pub pSalt: CK_BYTE_PTR,
28    pub ulSaltLen: CK_ULONG,
29    pub bExpand: CK_BBOOL,
30    pub pInfo: CK_BYTE_PTR,
31    pub ulInfoLen: CK_ULONG,
32}