Chứng chỉ của bạn chứa khóa chung, P-256 hoặc secp256r1 hoặc prime256v1 bạn có thể xem đây. Tuy nhiên, khóa ở định dạng không nén (bắt đầu bằng một byte 04
và sau đó là 64 byte tìm kiếm ngẫu nhiên) và các tham số miền được chỉ định bằng cách sử dụng OID với đường cong được đề cập ở trên. Vì vậy, tọa độ duy nhất là tọa độ của khóa chung và chúng luôn giống nhau 1 + 64 byte; không có vấn đề gì ở đó.
Vì vậy, có lẽ bạn đang nói về R và S như bạn đã đề cập trong câu hỏi. Tuy nhiên, R là một số ngẫu nhiên và S là chữ ký ngẫu nhiên tương ứng, có nghĩa là chúng không phải là tọa độ.
Bây giờ đường cong không được chỉ định; nó được chỉ định trong chứng chỉ của tổ chức phát hành được tham chiếu trong chứng chỉ này. Tuy nhiên, chúng ta có thể giả định một cách an toàn rằng đó chính là đường cong mà chúng ta đang nói đến. Tất nhiên, nếu bạn đang xây dựng một trình xác minh, thì bạn Nên Tuy nhiên, hãy truy xuất đường cong và khóa công khai từ chứng chỉ của tổ chức phát hành.
Như bạn có thể thấy trong phần cuối cùng của chứng chỉ:
CHUỖI BIT (568 bit) 0011000001000101000000100010000000000000101000111011101011001100001001â¦
TRÌNH TỰ (2 phần tử)
INTEGER (248 bit) 2892853004106127101112322441046660521562717594643885711748150025403073â¦
INTEGER (256 bit) 1104268754670564871921027255657571260094376165878172031675520861809130â¦
Giá trị ngẫu nhiên là 248 bit và chữ ký là 256 bit. Các giá trị này đơn giản phải nhỏ hơn kích thước trường. Điều này có nghĩa là mã hóa độ dài động, big endian, có dấu của các số nguyên này có thể khác nhau. Nếu bạn có mã xấu thì trong trường hợp này, thành phần R có thể nhỏ hơn những gì bạn mong đợi; nếu bạn chỉ giả sử 256 bit thì bạn sẽ gặp rắc rối.
Điều bạn phải làm là đảm bảo phần mềm của bạn sẽ diễn giải những con số này nếu chúng được mã hóa dưới dạng 1 byte, dưới dạng 33 byte (bao gồm 00
byte đệm ở bên trái) hoặc bất kỳ kích thước nào ở giữa. Sau đó, bạn có thể phải mã hóa lại chúng thành 32 + 32 = 64 byte để xác minh chữ ký của bạn hoạt động.
Hoặc bạn chỉ có thể sử dụng phần mềm xác minh định dạng chữ ký ANS X9.62. Hoặc sử dụng thư viện chỉ chấp nhận R và S dưới dạng các số riêng biệt bằng cách sử dụng một số loại thư viện "bignum".