To develop a kernel-level provider, do all of the following:
Include <sys/crypto/common.h> and <sys/crypto/api.h>.
Import required routines for registering, unregistering, and providing status.
Export required routines to provide entry points for kernel cryptographic framework.
Export data structure with descriptions of supported algorithms.
Create loadable kernel module.
Apply for a certificate from Sun Microsystems, Inc. See To Request a Certificate for Signing a Provider.
Use the certificate with elfsign to sign the binary. See To Sign a Provider.
Package the kernel module according to Sun conventions. See Appendix F, Packaging and Signing Cryptographic Providers.