LibreSSL は、レガシーなコードを削除しつつ、OpenSSL でおなじみの libcrypto/libssl の API とコマンドラインを維持し、独自の libtls を追加しています。macOS はシステムの暗号ライブラリとして古い LibreSSL を同梱しており、macOS 27.0.1 では /usr/bin/openssl version が LibreSSL 3.3.6 と出力し、ssh -V も同じライブラリ名を表示しました。ここに挙げる事実は、Alpine 3.24.2 のパッケージである LibreSSL 4.3.1(アップストリームは 4.3.3 に達していました)で確認したものです。このパッケージではコマンドが libressl としてインストールされるため、互換パッケージを追加しない限り、openssl を呼び出すスクリプトは失敗します。
ECDSA は OpenSSL のデフォルトと同じように動作します。署名は DER、nonce はランダム、low-S 正規化はなく、検証は high-S も受け入れます。OpenSSL 3.2 以降と異なり、RFC 6979 による決定的署名のオプションはありません。EVP_DigestVerify は生の r‖s 署名に -1 を返し、コマンドラインはその署名に対して Error Verifying Data を、別のデータに対する有効な署名に対して Verification Failure を出力しました。大文字と小文字の使い方が OpenSSL のメッセージと異なる点に注意してください。正確な文字列を grep するスクリプトは、この違いで動かなくなります。
曲線は P-224 から P-521 まで、secp256k1、Brainpool の r1 曲線に対応しています。Ed25519 は EVP_PKEY_ED25519 で動作し、Ed448 はまったくありません。鍵ファイルは OpenSSL と相互運用でき、公開鍵は SPKI と証明書、秘密鍵は PKCS#8(暗号化なし・暗号化あり)と SEC1 に対応します。ecparam -genkey は SEC1 の EC PRIVATE KEY を書き出すため、ほかのツールが PKCS#8 を求める場合は、サンプルのように pkcs8 -topk8 で変換してください。
ポスト量子暗号への対応は部分的です。ML-KEM-768 と ML-KEM-1024 は、EVP やコマンドラインではなく、<openssl/mlkem.h> にある LibreSSL 独自の MLKEM_* 関数で利用でき、ML-DSA は存在しません(Algorithm ML-DSA-65 not found)。アルゴリズムはポスト量子 KEM ラボで比較してください。ML-DSA で署名するには、OpenSSL 3.5 以降を使ってください。