support checking for key usage and support storing/generating key agreement states/secrets in the keystore