Add method to bindings to get OPENSSL_VERSION_TEXT

* This allows you to check that you're binding against the expected
  version of OpenSSL
* Test is pretty basic (just checks to see that the string starts
  with OpenSSL)
diff --git a/cryptography/bindings/openssl/api.py b/cryptography/bindings/openssl/api.py
index 202595b..87ed38f 100644
--- a/cryptography/bindings/openssl/api.py
+++ b/cryptography/bindings/openssl/api.py
@@ -27,6 +27,7 @@
         self._ffi = ffi
         self._lib = ffi.verify("""
         #include <openssl/evp.h>
+        #include <openssl/opensslv.h>
         """)
         self._lib.OpenSSL_add_all_algorithms()
 
@@ -38,6 +39,8 @@
         typedef ... EVP_CIPHER;
         typedef ... ENGINE;
 
+        static char *const OPENSSL_VERSION_TEXT;
+
         void OpenSSL_add_all_algorithms();
 
         const EVP_CIPHER *EVP_get_cipherbyname(const char *);
@@ -52,6 +55,10 @@
         int EVP_CIPHER_block_size(const EVP_CIPHER *);
         """)
 
+    """ Friendly string name of linked OpenSSL. """
+    def openssl_version_text(self):
+        return self._ffi.string(api._lib.OPENSSL_VERSION_TEXT)
+
     def create_block_cipher_context(self, cipher, mode):
         ctx = self._ffi.new("EVP_CIPHER_CTX *")
         ctx = self._ffi.gc(ctx, self._lib.EVP_CIPHER_CTX_cleanup)
diff --git a/tests/bindings/test_openssl.py b/tests/bindings/test_openssl.py
index 9d63722..8704d93 100644
--- a/tests/bindings/test_openssl.py
+++ b/tests/bindings/test_openssl.py
@@ -17,3 +17,6 @@
 class TestOpenSSL(object):
     def test_api_exists(self):
         assert api
+
+    def test_openssl_version_text(self):
+        assert api.openssl_version_text().find("OpenSSL") == 0