2N/A * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2N/A * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2N/A#include <cryptoutil.h>
2N/A#include "libsoftcrypto.h"
2N/Astatic void ucrypto_init();
2N/A#pragma inline(create_context)
2N/A case CRYPTO_AES_CBC_PAD:
2N/A case CRYPTO_AES_ECB:
2N/A case CRYPTO_AES_CBC:
2N/A case CRYPTO_AES_CTR:
2N/A case CRYPTO_AES_CCM:
2N/A case CRYPTO_AES_GCM:
2N/A case CRYPTO_AES_CFB128:
2N/A case CRYPTO_AES_XTS:
2N/A case CRYPTO_RSA_PKCS:
2N/A case CRYPTO_RSA_X_509:
2N/A case CRYPTO_MD5_RSA_PKCS:
2N/A case CRYPTO_SHA1_RSA_PKCS:
2N/A case CRYPTO_SHA224_RSA_PKCS:
2N/A case CRYPTO_SHA256_RSA_PKCS:
2N/A case CRYPTO_SHA384_RSA_PKCS:
2N/A case CRYPTO_SHA512_RSA_PKCS:
2N/A return (CRYPTO_HOST_MEMORY);
2N/A return (CRYPTO_SUCCESS);
2N/A#pragma inline(free_context)
2N/A case CRYPTO_AES_ECB:
2N/A case CRYPTO_AES_CBC:
2N/A case CRYPTO_AES_CBC_PAD:
2N/A case CRYPTO_AES_CTR:
2N/A case CRYPTO_AES_CCM:
2N/A case CRYPTO_AES_GCM:
2N/A case CRYPTO_AES_CFB128:
2N/A case CRYPTO_AES_XTS:
2N/A case CRYPTO_AES_XCBC_MAC:
2N/A case CRYPTO_RSA_PKCS:
2N/A case CRYPTO_RSA_X_509:
2N/A case CRYPTO_MD5_RSA_PKCS:
2N/A case CRYPTO_SHA1_RSA_PKCS:
2N/A case CRYPTO_SHA224_RSA_PKCS:
2N/A case CRYPTO_SHA256_RSA_PKCS:
2N/A case CRYPTO_SHA384_RSA_PKCS:
2N/A case CRYPTO_SHA512_RSA_PKCS:
2N/A return (CRYPTO_MECH_NOT_SUPPORTED);
2N/A return (CRYPTO_SUCCESS);
2N/A#pragma inline(set_mechanism)
2N/A return (CRYPTO_MECHANISM_PARAM_INVALID);
2N/A return (CRYPTO_SUCCESS);
2N/A return (UCRYPTO_VERSION);
2N/A#pragma inline(ucrypto_common_init)
2N/A return (CRYPTO_SUCCESS);
2N/A#pragma inline(ucrypto_common_update)
2N/A case CRYPTO_AES_ECB:
2N/A case CRYPTO_AES_CBC:
2N/A case CRYPTO_AES_CTR:
2N/A case CRYPTO_AES_CCM:
2N/A case CRYPTO_AES_GCM:
2N/A case CRYPTO_AES_CFB128:
2N/A case CRYPTO_AES_XTS:
2N/A case CRYPTO_RSA_PKCS:
2N/A case CRYPTO_RSA_X_509:
2N/A case CRYPTO_MD5_RSA_PKCS:
2N/A case CRYPTO_SHA1_RSA_PKCS:
2N/A case CRYPTO_SHA224_RSA_PKCS:
2N/A case CRYPTO_SHA256_RSA_PKCS:
2N/A case CRYPTO_SHA384_RSA_PKCS:
2N/A case CRYPTO_SHA512_RSA_PKCS:
2N/A return (CRYPTO_SUCCESS);
2N/A#pragma inline(ucrypto_common_final)
2N/A case CRYPTO_AES_ECB:
2N/A case CRYPTO_AES_CBC:
2N/A case CRYPTO_AES_CTR:
2N/A case CRYPTO_AES_CCM:
2N/A case CRYPTO_AES_GCM:
2N/A case CRYPTO_AES_CFB128:
2N/A case CRYPTO_AES_XTS:
2N/A case CRYPTO_AES_CBC:
2N/A case CRYPTO_RSA_PKCS:
2N/A case CRYPTO_RSA_X_509:
2N/A case CRYPTO_MD5_RSA_PKCS:
2N/A case CRYPTO_SHA1_RSA_PKCS:
2N/A case CRYPTO_SHA224_RSA_PKCS:
2N/A case CRYPTO_SHA256_RSA_PKCS:
2N/A case CRYPTO_SHA384_RSA_PKCS:
2N/A case CRYPTO_SHA512_RSA_PKCS:
2N/A#pragma inline(ucrypto_atomic)
2N/A return (CRYPTO_ARGUMENTS_BAD);
2N/A case CRYPTO_AES_CBC_PAD:
2N/A return (CRYPTO_BUFFER_TOO_SMALL);
2N/A return (CRYPTO_HOST_MEMORY);
2N/A return (CRYPTO_HOST_MEMORY);
2N/A return (CRYPTO_MECH_NOT_SUPPORTED);
2N/A goto out_atomic;
2N/A goto out_atomic;
2N/A case CRYPTO_AES_ECB:
2N/A case CRYPTO_AES_CBC:
2N/A case CRYPTO_AES_CTR:
2N/A case CRYPTO_AES_CCM:
2N/A case CRYPTO_AES_GCM:
2N/A case CRYPTO_AES_CFB128:
2N/A case CRYPTO_AES_XTS:
2N/A case CRYPTO_AES_XCBC_MAC:
2N/A case CRYPTO_RSA_PKCS:
2N/A case CRYPTO_RSA_X_509:
2N/A case CRYPTO_MD5_RSA_PKCS:
2N/A case CRYPTO_SHA1_RSA_PKCS:
2N/A case CRYPTO_SHA224_RSA_PKCS:
2N/A case CRYPTO_SHA256_RSA_PKCS:
2N/A case CRYPTO_SHA384_RSA_PKCS:
2N/A case CRYPTO_SHA512_RSA_PKCS:
2N/A goto out_atomic;
2N/A case CRYPTO_AES_CBC: \
2N/A case CRYPTO_AES_ECB: \
2N/A case CRYPTO_AES_CFB128: \
2N/A case CRYPTO_AES_CTR: \
2N/A UCRYPTO_SIGN));