Even if LibSRTP is compiled without OpenSSL support, it should be possible to use srtp_replace_cipher_type to install SRTP_AES_GCM_128, SRTP_AES_GCM_256, or SRTP_AES_ICM_192 ciphers and have things work.
This came up in my discussions with @nils-ohlmeier; he wants to get libsrtp to use NSS (Mozilla's native crypto library) in Firefox, since they don't use OpenSSL. I suggested that using srtp_replace_cipher_type would likely be more maintainable than contributing back NSS patches to the mainline project. But if he wants to install crypto modules for all the modes, libsrtp would need to support using those modes even if when doesn't have native crypto support for them.
My expectation would be that if you tried to use a mode for which you hadn't installed a cipher, srtp_add_stream would fail. The current code will indeed do this, failing with srtp_err_status_fail, but a better error status could be added. (Maybe srtp_err_status_bad_cipher?)
Even if LibSRTP is compiled without OpenSSL support, it should be possible to use srtp_replace_cipher_type to install SRTP_AES_GCM_128, SRTP_AES_GCM_256, or SRTP_AES_ICM_192 ciphers and have things work.
This came up in my discussions with @nils-ohlmeier; he wants to get libsrtp to use NSS (Mozilla's native crypto library) in Firefox, since they don't use OpenSSL. I suggested that using srtp_replace_cipher_type would likely be more maintainable than contributing back NSS patches to the mainline project. But if he wants to install crypto modules for all the modes, libsrtp would need to support using those modes even if when doesn't have native crypto support for them.
My expectation would be that if you tried to use a mode for which you hadn't installed a cipher, srtp_add_stream would fail. The current code will indeed do this, failing with srtp_err_status_fail, but a better error status could be added. (Maybe srtp_err_status_bad_cipher?)