in src/utils/eif_signer.rs [317:342]
fn find_existing_signature(
&self,
eif_file: &mut File,
header: &EifHeader,
) -> Result<(u64, usize, u64), String> {
for i in 0..header.num_sections as usize {
let offset = header.section_offsets[i];
let mut section_header_buf = vec![0u8; EifSectionHeader::size()];
eif_file
.seek(SeekFrom::Start(offset))
.map_err(|e| format!("Failed to seek: {:?}", e))?;
eif_file
.read_exact(&mut section_header_buf)
.map_err(|e| format!("Failed to read section header: {:?}", e))?;
let section_header = EifSectionHeader::from_be_bytes(§ion_header_buf)
.map_err(|e| format!("Failed to parse section header: {:?}", e))?;
if section_header.section_type == EifSectionType::EifSectionSignature {
return Ok((offset, i, section_header.section_size));
}
}
Err("Signature section not found".to_string())
}