OpenSSL provides robust cryptographic services and is widely supported
Use Cases and Deployment Scope
We use OpenSSL and its libraries for securing communications over networks and for internal cryptographic operations. It is sort of the de facto standard for just about anything that is going to encrypt things to be stored or sent over a network.
Pros
- integrates into just about everything
- codebase is well managed and follows predictable paths
- although there are alternatives, OpenSSL is vastly better supported
Cons
- the entire project could be completely refactored while preserving the library apis
- the documentation on command line usage is not usually the best
- code examples are not very well explained
Likelihood to Recommend
I would recommend OpenSSL for just about any kind of cryptographic operations that you may need. I can't think of a particular situation where it would not be appropriate to use OpenSSL for a cryptographic function of some sort or another. If you are going to provide some sort of encryption service in a product, OpenSSL is probably the best way to get it off the ground and going. With other competitors, you may get it working, but I fear long term support and interoperability will be an issue.
