--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -4541,7 +4541,7 @@ set_sni_callback(PySSLContext *self, PyO
     return 0;
 }
 
-#if OPENSSL_VERSION_NUMBER < 0x30300000L
+#if OPENSSL_VERSION_NUMBER < 0x30300000L && !defined(LIBRESSL_VERSION_NUMBER)
 static X509_OBJECT *x509_object_dup(const X509_OBJECT *obj)
 {
     int ok;
@@ -4614,7 +4614,11 @@ _ssl__SSLContext_cert_store_stats_impl(P
     int x509 = 0, crl = 0, ca = 0, i;
 
     store = SSL_CTX_get_cert_store(self->ctx);
+#if !defined(LIBRESSL_VERSION_NUMBER)
     objs = X509_STORE_get1_objects(store);
+#else
+    objs = X509_STORE_get0_objects(store);
+#endif
     if (objs == NULL) {
         PyErr_SetString(PyExc_MemoryError, "failed to query cert store");
         return NULL;
@@ -4669,7 +4673,11 @@ _ssl__SSLContext_get_ca_certs_impl(PySSL
     }
 
     store = SSL_CTX_get_cert_store(self->ctx);
+#if !defined(LIBRESSL_VERSION_NUMBER)
     objs = X509_STORE_get1_objects(store);
+#else
+    objs = X509_STORE_get0_objects(store);
+#endif
     if (objs == NULL) {
         PyErr_SetString(PyExc_MemoryError, "failed to query cert store");
         goto error;
