Update the wasi-crypto spec

This commit is contained in:
Alex Crichton
2021-02-17 14:29:38 -08:00
committed by Andrew Brown
parent 250f11c572
commit 9ab5fa26cf
5 changed files with 14 additions and 23 deletions

3
.gitmodules vendored
View File

@@ -14,4 +14,5 @@
branch = witx-next branch = witx-next
[submodule "crates/wasi-crypto/spec"] [submodule "crates/wasi-crypto/spec"]
path = crates/wasi-crypto/spec path = crates/wasi-crypto/spec
url = https://github.com/WebAssembly/wasi-crypto.git url = https://github.com/alexcrichton/wasi-crypto.git
branch = witx-next

View File

@@ -1,7 +1,9 @@
use super::{guest_types, WasiCryptoCtx}; use super::{guest_types, WasiCryptoCtx};
use std::convert::TryInto; use std::convert::TryInto;
use wasi_crypto::{ensure, CryptoError, KeyPairEncoding, PublicKeyEncoding, SecretKeyEncoding}; use wasi_crypto::{
ensure, CryptoError, KeyPairEncoding, PublicKeyEncoding, SecretKeyEncoding, Version,
};
impl super::wasi_ephemeral_crypto_asymmetric_common::WasiEphemeralCryptoAsymmetricCommon impl super::wasi_ephemeral_crypto_asymmetric_common::WasiEphemeralCryptoAsymmetricCommon
for WasiCryptoCtx for WasiCryptoCtx
@@ -57,7 +59,7 @@ impl super::wasi_ephemeral_crypto_asymmetric_common::WasiEphemeralCryptoAsymmetr
kp_old_handle.into(), kp_old_handle.into(),
kp_new_handle.into(), kp_new_handle.into(),
)? )?
.into()) .0)
} }
fn keypair_from_id( fn keypair_from_id(
@@ -69,7 +71,7 @@ impl super::wasi_ephemeral_crypto_asymmetric_common::WasiEphemeralCryptoAsymmetr
) -> Result<guest_types::Keypair, guest_types::CryptoErrno> { ) -> Result<guest_types::Keypair, guest_types::CryptoErrno> {
let kp_id = &*kp_id_ptr.as_array(kp_id_len).as_slice()?; let kp_id = &*kp_id_ptr.as_array(kp_id_len).as_slice()?;
Ok(self Ok(self
.keypair_from_id(secrets_manager_handle.into(), kp_id, kp_version.into())? .keypair_from_id(secrets_manager_handle.into(), kp_id, Version(kp_version))?
.into()) .into())
} }
@@ -116,7 +118,7 @@ impl super::wasi_ephemeral_crypto_asymmetric_common::WasiEphemeralCryptoAsymmetr
let (kp_id, version) = self.keypair_id(kp_handle.into())?; let (kp_id, version) = self.keypair_id(kp_handle.into())?;
ensure!(kp_id.len() <= kp_id_buf.len(), CryptoError::Overflow.into()); ensure!(kp_id.len() <= kp_id_buf.len(), CryptoError::Overflow.into());
kp_id_buf.copy_from_slice(&kp_id); kp_id_buf.copy_from_slice(&kp_id);
Ok((kp_id.len().try_into()?, version.into())) Ok((kp_id.len().try_into()?, version.0))
} }
fn keypair_export( fn keypair_export(

View File

@@ -111,7 +111,7 @@ impl super::wasi_ephemeral_crypto_common::WasiEphemeralCryptoCommon for WasiCryp
Ok(self.secrets_manager_invalidate( Ok(self.secrets_manager_invalidate(
secrets_manager_handle.into(), secrets_manager_handle.into(),
key_id, key_id,
key_version.into(), Version(key_version),
)?) )?)
} }
} }
@@ -125,15 +125,3 @@ impl From<guest_types::AlgorithmType> for AlgorithmType {
} }
} }
} }
impl From<guest_types::Version> for Version {
fn from(version: guest_types::Version) -> Self {
Version(version.into())
}
}
impl From<Version> for guest_types::Version {
fn from(version: Version) -> Self {
version.into()
}
}

View File

@@ -1,7 +1,7 @@
use super::{guest_types, WasiCryptoCtx}; use super::{guest_types, WasiCryptoCtx};
use std::convert::TryInto; use std::convert::TryInto;
use wasi_crypto::{ensure, CryptoError}; use wasi_crypto::{ensure, CryptoError, Version};
impl super::wasi_ephemeral_crypto_symmetric::WasiEphemeralCryptoSymmetric for WasiCryptoCtx { impl super::wasi_ephemeral_crypto_symmetric::WasiEphemeralCryptoSymmetric for WasiCryptoCtx {
// --- secrets_manager // --- secrets_manager
@@ -55,7 +55,7 @@ impl super::wasi_ephemeral_crypto_symmetric::WasiEphemeralCryptoSymmetric for Wa
symmetric_key_old_handle.into(), symmetric_key_old_handle.into(),
symmetric_key_new_handle.into(), symmetric_key_new_handle.into(),
)? )?
.into()) .0)
} }
fn symmetric_key_from_id( fn symmetric_key_from_id(
@@ -72,7 +72,7 @@ impl super::wasi_ephemeral_crypto_symmetric::WasiEphemeralCryptoSymmetric for Wa
.symmetric_key_from_id( .symmetric_key_from_id(
secrets_manager_handle.into(), secrets_manager_handle.into(),
symmetric_key_id, symmetric_key_id,
symmetric_key_version.into(), Version(symmetric_key_version),
)? )?
.into()) .into())
} }
@@ -129,7 +129,7 @@ impl super::wasi_ephemeral_crypto_symmetric::WasiEphemeralCryptoSymmetric for Wa
CryptoError::Overflow.into() CryptoError::Overflow.into()
); );
key_id_buf.copy_from_slice(&key_id); key_id_buf.copy_from_slice(&key_id);
Ok((key_id.len().try_into()?, version.into())) Ok((key_id.len().try_into()?, version.0))
} }
fn symmetric_key_close( fn symmetric_key_close(