forked from briansmith/ring
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Ed25519 PKCS#8 testing: Pass all test vectors to both variants.
- Loading branch information
1 parent
d03059e
commit 32b2c6c
Showing
4 changed files
with
107 additions
and
69 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,53 +1,87 @@ | ||
# v1. An Ed25519 private key. (This is from BoringSSL's tests.) | ||
Input = 302e020100300506032b6570042204209d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60 | ||
Result-Checked = VersionNotSupported | ||
Result-Maybe-Unchecked = OK | ||
Public = d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a | ||
|
||
# v1. The same as the above, but with an invalid NULL parameter. (This is from BoringSSL's tests.) | ||
Input = 3030020100300706032b65700500042204209d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60 | ||
Result-Checked = WrongAlgorithm | ||
Result-Maybe-Unchecked = WrongAlgorithm | ||
|
||
# v1. Sample private key from draft-ietf-curdle-pkix-04. | ||
Input = 302e020100300506032b657004220420d4ee72dbf913584ad5b6d8f1f769f8ad3afe7c28cbf1d4fbe097a88f44755842 | ||
Result-Checked = VersionNotSupported | ||
Result-Maybe-Unchecked = OK | ||
Public = 19bf44096984cdfe8541bac167dc3b96c85086aa30b6b6cb0c5c38ad703166e1 | ||
|
||
# v1. valid except it includes publicKey. | ||
Input = 3053020100300506032b657004220420a22efdb713f0e1600d2a5ce948e321ca3a18137c47f15091a12c7126c1749a00a1230321001aeb8e3ee5ba5afd91113466d19f4ea77fa0feffbd8c5adcb499927f12535f77 | ||
Result-Checked = VersionNotSupported | ||
Result-Maybe-Unchecked = InvalidEncoding | ||
|
||
# v2. The private key ends with a zero byte. | ||
Input = 3053020101300506032b657004220420a22efdb713f0e1600d2a5ce948e321ca3a18137c47f15091a12c7126c1749a00a1230321001aeb8e3ee5ba5afd91113466d19f4ea77fa0feffbd8c5adcb499927f12535f77 | ||
Result = OK | ||
Result-Checked = OK | ||
Result-Maybe-Unchecked = OK | ||
Public = 1aeb8e3ee5ba5afd91113466d19f4ea77fa0feffbd8c5adcb499927f12535f77 | ||
|
||
# v2. The private key's last byte, zero, is omitted. | ||
Input = 3052020101300506032b65700421041fa22efdb713f0e1600d2a5ce948e321ca3a18137c47f15091a12c7126c1749aa1230321001aeb8e3ee5ba5afd91113466d19f4ea77fa0feffbd8c5adcb499927f12535f77 | ||
Result = InvalidEncoding | ||
Result-Checked = InvalidEncoding | ||
Result-Maybe-Unchecked = InvalidEncoding | ||
|
||
# v2. The private key starts with a zero byte. | ||
Input = 3053020101300506032b65700422042000b1a7c20b2b4ed9c78f3686db82f854734cdc95be51def304d98e0cd30bf490a12303210063457cd4dfdd0e98a53796265831d46ac6a5a685f2a54c9697a38b2c800d60ba | ||
Result = OK | ||
Result-Checked = OK | ||
Result-Maybe-Unchecked = OK | ||
Public = 63457cd4dfdd0e98a53796265831d46ac6a5a685f2a54c9697a38b2c800d60ba | ||
|
||
# v2. The private key's first byte, zero, is omitted. | ||
Input = 3052020101300506032b65700421041fb1a7c20b2b4ed9c78f3686db82f854734cdc95be51def304d98e0cd30bf490a12303210063457cd4dfdd0e98a53796265831d46ac6a5a685f2a54c9697a38b2c800d60ba | ||
Result = InvalidEncoding | ||
Result-Checked = InvalidEncoding | ||
Result-Maybe-Unchecked = InvalidEncoding | ||
|
||
# v2. The public key's first byte is zero. | ||
Input = 3053020101300506032b6570042204202dc67de5186d9193021c0b104d9c6ef24bee2bd395ccb5ed5a2db5f37a2fc1f0a12303210000c17e4d8bbff27c1fb618c23fce988703c7efa3cd590aacac12d3f1e3c90c8c | ||
Result = OK | ||
Result-Checked = OK | ||
Result-Maybe-Unchecked = OK | ||
Public = 00c17e4d8bbff27c1fb618c23fce988703c7efa3cd590aacac12d3f1e3c90c8c | ||
|
||
# v2. The public key's first byte, zero, is omitted. | ||
Input = 3052020101300506032b6570042204202dc67de5186d9193021c0b104d9c6ef24bee2bd395ccb5ed5a2db5f37a2fc1f0a122032000c17e4d8bbff27c1fb618c23fce988703c7efa3cd590aacac12d3f1e3c90c8c | ||
Result = InvalidEncoding | ||
Result-Checked = InvalidEncoding | ||
Result-Maybe-Unchecked = InvalidEncoding | ||
|
||
# v2. The public key's last byte is zero. | ||
Input = 3053020101300506032b657004220420b2579f555a2eabdabac8d46997b1c08fe8ce63858df124efc29c60dfbb86c349a1230321009d421270ce2fcc08672c41e427214876245c9b0f14ab671b8bb9d266a492e400 | ||
Result = OK | ||
Result-Checked = OK | ||
Result-Maybe-Unchecked = OK | ||
Public = 9d421270ce2fcc08672c41e427214876245c9b0f14ab671b8bb9d266a492e400 | ||
|
||
# v2. The public key's last byte, zero, is omitted (valid ASN.1 DER). | ||
Input = 3052020101300506032b657004220420b2579f555a2eabdabac8d46997b1c08fe8ce63858df124efc29c60dfbb86c349a1220320009d421270ce2fcc08672c41e427214876245c9b0f14ab671b8bb9d266a492e4 | ||
Result = InvalidEncoding | ||
Result-Checked = InvalidEncoding | ||
Result-Maybe-Unchecked = InvalidEncoding | ||
|
||
# v2. The public key's last byte, zero, has been truncated (invalid ASN.1 DER). | ||
Input = 3053020101300506032b657004220420b2579f555a2eabdabac8d46997b1c08fe8ce63858df124efc29c60dfbb86c349a1230321009d421270ce2fcc08672c41e427214876245c9b0f14ab671b8bb9d266a492e4 | ||
Result = InvalidEncoding | ||
Result-Checked = InvalidEncoding | ||
Result-Maybe-Unchecked = InvalidEncoding | ||
|
||
# v2. The public key's high bit has been flipped. Ed25519 public keys don't | ||
# have their high bit masked, so this is wrong. | ||
Input = 3053020101300506032b6570042204202dc67de5186d9193021c0b104d9c6ef24bee2bd395ccb5ed5a2db5f37a2fc1f0a12303210000c17e4d8bbff27c1fb618c23fce988703c7efa3cd590aacac12d3f1e3c90c0c | ||
Result = InconsistentComponents | ||
Result-Checked = InconsistentComponents | ||
Result-Maybe-Unchecked = InconsistentComponents | ||
|
||
# v2. Valid except the public key field is missing. | ||
Input = 302e020101300506032b657004220420a22efdb713f0e1600d2a5ce948e321ca3a18137c47f15091a12c7126c1749a00 | ||
Result = PublicKeyIsMissing | ||
Result-Checked = PublicKeyIsMissing | ||
Result-Maybe-Unchecked = PublicKeyIsMissing | ||
|
||
# v2. Valid except the public key is encoded as [0] instead of [1]; i.e. the | ||
# attributes are invalid and the public key is missing. | ||
Input = 3053020101300506032b657004220420a22efdb713f0e1600d2a5ce948e321ca3a18137c47f15091a12c7126c1749a00a0230321001aeb8e3ee5ba5afd91113466d19f4ea77fa0feffbd8c5adcb499927f12535f77 | ||
Result = PublicKeyIsMissing | ||
Result-Checked = PublicKeyIsMissing | ||
Result-Maybe-Unchecked = PublicKeyIsMissing |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters