diff options
Diffstat (limited to 'usr/src/lib/pkcs11/pkcs11_kernel/common/kernelUtil.c')
| -rw-r--r-- | usr/src/lib/pkcs11/pkcs11_kernel/common/kernelUtil.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/usr/src/lib/pkcs11/pkcs11_kernel/common/kernelUtil.c b/usr/src/lib/pkcs11/pkcs11_kernel/common/kernelUtil.c index 670a6c7666..7231b62a08 100644 --- a/usr/src/lib/pkcs11/pkcs11_kernel/common/kernelUtil.c +++ b/usr/src/lib/pkcs11/pkcs11_kernel/common/kernelUtil.c @@ -1215,3 +1215,18 @@ get_mechanism_info(kernel_slot_t *pslot, CK_MECHANISM_TYPE type, return (rv); } + +/* + * Unfortunately the kernel and PKCS#11 use a slightly different struct to + * specify CCM parameters. + */ +void +p11_to_kernel_ccm_params(const CK_CCM_PARAMS *in, CK_AES_CCM_PARAMS *out) +{ + out->ulMACSize = in->ulMACLen; + out->ulNonceSize = in->ulNonceLen; + out->ulAuthDataSize = in->ulAADLen; + out->ulDataSize = in->ulDataLen; + out->nonce = in->pNonce; + out->authData = in->pAAD; +} |
