O LibreSSL mantém a conhecida API libcrypto/libssl e a linha de comando do OpenSSL, removendo código legado, e acrescenta sua própria libtls. O macOS traz um LibreSSL mais antigo como criptografia do sistema: no macOS 27.0.1, /usr/bin/openssl version imprimiu LibreSSL 3.3.6, e ssh -V citou a mesma biblioteca. Os fatos desta página foram verificados no pacote do Alpine 3.24.2, LibreSSL 4.3.1 (o projeto original já estava na 4.3.3), em que o comando é instalado como libressl — scripts que chamam openssl falham ali, a menos que o pacote de compatibilidade seja adicionado.
O ECDSA se comporta como nos padrões do OpenSSL: assinaturas DER, nonces aleatórios, nenhuma normalização low-S e uma verificação que aceita high-S. Ao contrário do OpenSSL 3.2+, não há opção determinística da RFC 6979. EVP_DigestVerify retornou -1 para uma assinatura r‖s bruta, e a linha de comando imprimiu Error Verifying Data para ela, contra Verification Failure para uma assinatura válida sobre outros dados — repare que o uso de maiúsculas difere das mensagens do OpenSSL, o que quebra scripts que fazem grep pelo texto exato.
As curvas vão da P-224 à P-521, além de secp256k1 e das curvas Brainpool r1; o Ed25519 funciona por meio de EVP_PKEY_ED25519, e não há Ed448 de forma alguma. Os arquivos de chave são interoperáveis com o OpenSSL: SPKI e certificados para chaves públicas, PKCS#8 (simples e criptografado) e SEC1 para chaves privadas; ecparam -genkey grava SEC1 EC PRIVATE KEY, então converta com pkcs8 -topk8 quando outra ferramenta exigir PKCS#8, como faz o exemplo.
O suporte pós-quântico é parcial: ML-KEM-768 e ML-KEM-1024 estão disponíveis pelas funções MLKEM_* do próprio LibreSSL em <openssl/mlkem.h>, e não pela EVP nem pela linha de comando, e o ML-DSA não existe (Algorithm ML-DSA-65 not found). Compare os algoritmos no playground de KEM pós-quântico; para assinaturas com ML-DSA, use o OpenSSL 3.5 ou posterior.