diff --git a/tools/binman/etype/efi_capsule.py b/tools/binman/etype/efi_capsule.py index 9f06cc88e6e..3b30c12ea51 100644 --- a/tools/binman/etype/efi_capsule.py +++ b/tools/binman/etype/efi_capsule.py @@ -125,10 +125,14 @@ class Entry_efi_capsule(Entry_section): private_key = '' public_key_cert = '' if self.auth: - if not os.path.isabs(self.private_key): + if not os.path.isabs(self.private_key) and not 'pkcs11:' in self.private_key: private_key = tools.get_input_filename(self.private_key) - if not os.path.isabs(self.public_key_cert): + if not os.path.isabs(self.public_key_cert) and not 'pkcs11:' in self.public_key_cert: public_key_cert = tools.get_input_filename(self.public_key_cert) + if 'pkcs11:' in self.private_key: + private_key = self.private_key + if 'pkcs11:' in self.public_key_cert: + public_key_cert = self.public_key_cert data, payload, uniq = self.collect_contents_to_file( self._entries.values(), 'capsule_in') outfile = self._filename if self._filename else 'capsule.%s' % uniq