Use u32 for 32-bit architectures
Signed-off-by: Patrick Uiterwijk <patrick@puiterwijk.org>
This commit is contained in:
parent
a0420fb4e0
commit
b7f8d115a7
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "clevis-pin-tpm2"
|
name = "clevis-pin-tpm2"
|
||||||
version = "0.1.1"
|
version = "0.1.2"
|
||||||
authors = ["Patrick Uiterwijk <patrick@puiterwijk.org>"]
|
authors = ["Patrick Uiterwijk <patrick@puiterwijk.org>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,11 @@ use tss_esapi::utils::{
|
||||||
ObjectAttributes, PublicParmsUnion, Tpm2BPublicBuilder, TpmsEccParmsBuilder,
|
ObjectAttributes, PublicParmsUnion, Tpm2BPublicBuilder, TpmsEccParmsBuilder,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#[cfg(target_pointer_width = "64")]
|
||||||
|
type Sizedu = u64;
|
||||||
|
#[cfg(target_pointer_width = "32")]
|
||||||
|
type Sizedu = u32;
|
||||||
|
|
||||||
use crate::PinError;
|
use crate::PinError;
|
||||||
|
|
||||||
pub(super) fn get_key_public(
|
pub(super) fn get_key_public(
|
||||||
|
@ -59,14 +64,14 @@ pub(super) fn create_tpm2b_public_sealed_object(
|
||||||
pub(super) fn get_tpm2b_public(
|
pub(super) fn get_tpm2b_public(
|
||||||
val: tss_esapi::tss2_esys::TPM2B_PUBLIC,
|
val: tss_esapi::tss2_esys::TPM2B_PUBLIC,
|
||||||
) -> Result<Vec<u8>, PinError> {
|
) -> Result<Vec<u8>, PinError> {
|
||||||
let mut offset = 0 as u64;
|
let mut offset = 0 as Sizedu;
|
||||||
let mut resp = Vec::with_capacity((val.size + 4) as usize);
|
let mut resp = Vec::with_capacity((val.size + 4) as usize);
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PUBLIC_Marshal(
|
let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PUBLIC_Marshal(
|
||||||
&val,
|
&val,
|
||||||
resp.as_mut_ptr(),
|
resp.as_mut_ptr(),
|
||||||
resp.capacity() as u64,
|
resp.capacity() as Sizedu,
|
||||||
&mut offset,
|
&mut offset,
|
||||||
);
|
);
|
||||||
if res != 0 {
|
if res != 0 {
|
||||||
|
@ -81,14 +86,14 @@ pub(super) fn get_tpm2b_public(
|
||||||
pub(super) fn get_tpm2b_private(
|
pub(super) fn get_tpm2b_private(
|
||||||
val: tss_esapi::tss2_esys::TPM2B_PRIVATE,
|
val: tss_esapi::tss2_esys::TPM2B_PRIVATE,
|
||||||
) -> Result<Vec<u8>, PinError> {
|
) -> Result<Vec<u8>, PinError> {
|
||||||
let mut offset = 0 as u64;
|
let mut offset = 0 as Sizedu;
|
||||||
let mut resp = Vec::with_capacity((val.size + 4) as usize);
|
let mut resp = Vec::with_capacity((val.size + 4) as usize);
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PRIVATE_Marshal(
|
let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PRIVATE_Marshal(
|
||||||
&val,
|
&val,
|
||||||
resp.as_mut_ptr(),
|
resp.as_mut_ptr(),
|
||||||
resp.capacity() as u64,
|
resp.capacity() as Sizedu,
|
||||||
&mut offset,
|
&mut offset,
|
||||||
);
|
);
|
||||||
if res != 0 {
|
if res != 0 {
|
||||||
|
@ -104,12 +109,12 @@ pub(super) fn build_tpm2b_private(
|
||||||
val: &[u8],
|
val: &[u8],
|
||||||
) -> Result<tss_esapi::tss2_esys::TPM2B_PRIVATE, PinError> {
|
) -> Result<tss_esapi::tss2_esys::TPM2B_PRIVATE, PinError> {
|
||||||
let mut resp = tss_esapi::tss2_esys::TPM2B_PRIVATE::default();
|
let mut resp = tss_esapi::tss2_esys::TPM2B_PRIVATE::default();
|
||||||
let mut offset = 0 as u64;
|
let mut offset = 0 as Sizedu;
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PRIVATE_Unmarshal(
|
let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PRIVATE_Unmarshal(
|
||||||
val[..].as_ptr(),
|
val[..].as_ptr(),
|
||||||
val.len() as u64,
|
val.len() as Sizedu,
|
||||||
&mut offset,
|
&mut offset,
|
||||||
&mut resp,
|
&mut resp,
|
||||||
);
|
);
|
||||||
|
@ -125,12 +130,12 @@ pub(super) fn build_tpm2b_public(
|
||||||
val: &[u8],
|
val: &[u8],
|
||||||
) -> Result<tss_esapi::tss2_esys::TPM2B_PUBLIC, PinError> {
|
) -> Result<tss_esapi::tss2_esys::TPM2B_PUBLIC, PinError> {
|
||||||
let mut resp = tss_esapi::tss2_esys::TPM2B_PUBLIC::default();
|
let mut resp = tss_esapi::tss2_esys::TPM2B_PUBLIC::default();
|
||||||
let mut offset = 0 as u64;
|
let mut offset = 0 as Sizedu;
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PUBLIC_Unmarshal(
|
let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PUBLIC_Unmarshal(
|
||||||
val[..].as_ptr(),
|
val[..].as_ptr(),
|
||||||
val.len() as u64,
|
val.len() as Sizedu,
|
||||||
&mut offset,
|
&mut offset,
|
||||||
&mut resp,
|
&mut resp,
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in a new issue