On Wed, Apr 18, 2012, Muschick, Paul wrote:

> So, it's ironic that only after I post to the mailing list, I solve my first 
> problem. For visitors from the future, to fully add a new cipher suite, you 
> can't forget to add your cipher's EVP_CIPHER* accessor function (generated by 
> the BLOCK_CIPHER_custom macro) to SSL_library_init() in ssl_algs.c.
> 
> Now that that's done, my client and server are negotiating the desired cipher 
> suite, but I'm getting the error SSL_R_CIPHER_OR_HASH_UNAVAILABLE. It seems 
> that CCM is defined as not using AEAD, but the flavor of CCM I'm trying to 
> enable uses AEAD, specifically AEAD_AES_128_CCM as defined in section 5.3 of 
> RFC 5116.
> 
> Could someone tell me for sure that, while GCM is an AEAD algorithm, CCM is 
> not?
> 
> My confusion lies in the fact I'm not familiar with encryption, plus one of 
> my reference documents, "AES-CCM ECC Cipher Suites for TLS" 
> (http://tools.ietf.org/html/draft-mcgrew-tls-aes-ccm-ecc-01), talks about CCM 
> and AEAD in the same breath.
> 
> Also, RFC 5116 "An Interface and Algorithms for Authenticated Encryption" 
> (http://tools.ietf.org/html/rfc5116#page-14) defines 2 AEAD algorithms for 
> AES-CCM. Is that not the same CCM as OpenSSL already supports?
> 

Well it is AEAD but that flag is not set in the EVP_CIPHER structure because
the relevant functionality for the EVP_CTRL_AEAD_TLS1_AAD ctrl is not
currently implemented.

You'd need to either follow the GCM example or add some mode specific code to
the TLS code to ensure the IV is set up correctly.

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to