This uses the no longer available X509at_* API

Index: libyara/modules/pe/pe.c
--- libyara/modules/pe/pe.c.orig
+++ libyara/modules/pe/pe.c
@@ -1609,7 +1609,7 @@ static void pe_parse_exports(PE* pe)
 // some features used in pe_parse_certificates, if you are using BoringSSL
 // instead of OpenSSL you should define BORINGSSL for YARA to compile properly,
 // but you won't have signature-related features in the PE module.
-#if defined(HAVE_LIBCRYPTO) && !defined(BORINGSSL)
+#if defined(HAVE_LIBCRYPTO) && !defined(BORINGSSL) && !defined(LIBRESSL_VERSION_NUMBER)
 
 //
 // Parse a PKCS7 blob, looking for certs and nested PKCS7 blobs.
@@ -3579,7 +3579,7 @@ begin_declarations
   declare_integer("number_of_resources");
   declare_string("pdb_path");
 
-#if defined(HAVE_LIBCRYPTO) && !defined(BORINGSSL)
+#if defined(HAVE_LIBCRYPTO) && !defined(BORINGSSL) && !defined(LIBRESSL_VERSION_NUMBER)
   begin_struct_array("signatures")
     declare_string("thumbprint");
     declare_string("issuer");
@@ -3979,7 +3979,7 @@ int module_load(
         pe_parse_rich_signature(pe, block->base);
         pe_parse_debug_directory(pe);
 
-#if defined(HAVE_LIBCRYPTO) && !defined(BORINGSSL)
+#if defined(HAVE_LIBCRYPTO) && !defined(BORINGSSL) && !defined(LIBRESSL_VERSION_NUMBER)
         pe_parse_certificates(pe);
 #endif
 
