diff --git a/src/OpenSSL/SSL.py b/src/OpenSSL/SSL.py
index ca39930..03f1455 100644
--- a/src/OpenSSL/SSL.py
+++ b/src/OpenSSL/SSL.py
@@ -2131,7 +2131,7 @@
         if session == _ffi.NULL:
             return None
         length = _lib.SSL_get_server_random(self._ssl, _ffi.NULL, 0)
-        assert length > 0
+        _openssl_assert(length > 0)
         outp = _no_zero_allocator("unsigned char[]", length)
         _lib.SSL_get_server_random(self._ssl, outp, length)
         return _ffi.buffer(outp, length)[:]
@@ -2147,7 +2147,7 @@
             return None
 
         length = _lib.SSL_get_client_random(self._ssl, _ffi.NULL, 0)
-        assert length > 0
+        _openssl_assert(length > 0)
         outp = _no_zero_allocator("unsigned char[]", length)
         _lib.SSL_get_client_random(self._ssl, outp, length)
         return _ffi.buffer(outp, length)[:]
@@ -2163,7 +2163,7 @@
             return None
 
         length = _lib.SSL_SESSION_get_master_key(session, _ffi.NULL, 0)
-        assert length > 0
+        _openssl_assert(length > 0)
         outp = _no_zero_allocator("unsigned char[]", length)
         _lib.SSL_SESSION_get_master_key(session, outp, length)
         return _ffi.buffer(outp, length)[:]
diff --git a/src/OpenSSL/crypto.py b/src/OpenSSL/crypto.py
index e2956ae..30dd478 100644
--- a/src/OpenSSL/crypto.py
+++ b/src/OpenSSL/crypto.py
@@ -1819,7 +1819,7 @@
             "type argument must be FILETYPE_PEM, FILETYPE_ASN1, or "
             "FILETYPE_TEXT")
 
-    assert result_code == 1
+    _openssl_assert(result_code == 1)
     return _bio_to_string(bio)
 
 
@@ -2893,7 +2893,7 @@
             "type argument must be FILETYPE_PEM, FILETYPE_ASN1, or "
             "FILETYPE_TEXT")
 
-    assert ret == 1
+    _openssl_assert(ret == 1)
     return _bio_to_string(bio)
 
 
