Fix COSEKeyTypeId serialization for non-EC keys

This commit is contained in:
John M. Schanck 2023-08-21 13:09:09 -07:00 коммит произвёл John Schanck
Родитель d160f94e53
Коммит 28036f3706
1 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -1037,7 +1037,7 @@ impl Serialize for COSEKey {
let mut map = serializer.serialize_map(Some(map_len))?;
match &self.key {
COSEKeyType::OKP(key) => {
map.serialize_entry(&1, &COSEKeyTypeId::OKP)?;
map.serialize_entry(&1, &(COSEKeyTypeId::OKP as u8))?;
map.serialize_entry(&3, &self.alg)?;
map.serialize_entry(&-1, &key.curve)?;
map.serialize_entry(&-2, &key.x)?;
@ -1050,13 +1050,13 @@ impl Serialize for COSEKey {
map.serialize_entry(&-3, &serde_bytes::Bytes::new(&key.y))?;
}
COSEKeyType::RSA(key) => {
map.serialize_entry(&1, &COSEKeyTypeId::RSA)?;
map.serialize_entry(&1, &(COSEKeyTypeId::RSA as u8))?;
map.serialize_entry(&3, &self.alg)?;
map.serialize_entry(&-1, &key.n)?;
map.serialize_entry(&-2, &key.e)?;
}
COSEKeyType::Symmetric(key) => {
map.serialize_entry(&1, &COSEKeyTypeId::Symmetric)?;
map.serialize_entry(&1, &(COSEKeyTypeId::Symmetric as u8))?;
map.serialize_entry(&3, &self.alg)?;
map.serialize_entry(&-1, &key.key)?;
}