名前は IEEE Std 1363-2000 に由来します。長さは固定で、P-256 と secp256k1 では 64 バイト、P-384 では 96 バイト、P-521 では 132 バイトです。もう一方の形式は DER で、最小長のビッグエンディアンの INTEGER 2 つからなる SEQUENCE です。各整数は最上位ビットが立っている場合に先頭に 0x00 が付くため、P-256 では 70〜72 バイトになり、設計上、長さは可変です。
生の形式を使うのは、JWS の ES256 などのアルゴリズム(RFC 7518 §3.4)、COSE(RFC 9053 §2.1)、WebCrypto、PKCS #11 の CKM_ECDSA、Windows CNG、Apple CryptoKit です。DER を使うのは、X.509 と CMS、TLS の CertificateVerify、WebAuthn のアサーション署名、OpenSSL、Java の SHA256withECDSA、Go の ecdsa.SignASN1、Node の crypto.sign() です。切り替えの方法は、Node では dsaEncoding: "ieee-p1363"、Java では SHA256withECDSAinP1363Format、Python では encode_dss_signature と decode_dss_signature です。
変換時には必ずパディングしなければなりません。約 128 個に 1 個の署名で r または s が 32 バイトより短くなり、DER の符号バイトを残したりパディングを省いたりすると、63 バイトや 65 バイトの「生」の署名ができてしまい、他の環境で失敗します。DER ⇄ 生形式の変換ツールで両方の形式を確認できます。