@@ -255,7 +255,7 @@ def perform_privacy_operation(self,
255
255
bip32_path ,
256
256
pubkey ))
257
257
258
- def _provide_trusted_name_common (self , payload : bytes ) -> RAPDU :
258
+ def _provide_trusted_name_common (self , payload : bytes , name_source : TrustedNameSource ) -> RAPDU :
259
259
if self ._pki_client is None :
260
260
print (f"Ledger-PKI Not supported on '{ self ._firmware .name } '" )
261
261
else :
@@ -272,10 +272,16 @@ def _provide_trusted_name_common(self, payload: bytes) -> RAPDU:
272
272
273
273
self ._pki_client .send_certificate (PKIPubKeyUsage .PUBKEY_USAGE_COIN_META , bytes .fromhex (cert_apdu ))
274
274
payload += format_tlv (FieldTag .STRUCT_TYPE , 3 ) # TrustedName
275
- payload += format_tlv (FieldTag .SIGNER_KEY_ID , 0 ) # test key
275
+ if name_source == TrustedNameSource .CAL :
276
+ key_id = 6
277
+ key = Key .CAL
278
+ else :
279
+ key_id = 3
280
+ key = Key .TRUSTED_NAME
281
+ payload += format_tlv (FieldTag .SIGNER_KEY_ID , key_id ) # test key
276
282
payload += format_tlv (FieldTag .SIGNER_ALGO , 1 ) # secp256k1
277
283
payload += format_tlv (FieldTag .DER_SIGNATURE ,
278
- sign_data (Key . TRUSTED_NAME , payload ))
284
+ sign_data (key , payload ))
279
285
chunks = self ._cmd_builder .provide_trusted_name (payload )
280
286
for chunk in chunks [:- 1 ]:
281
287
self ._exchange (chunk )
@@ -287,7 +293,7 @@ def provide_trusted_name_v1(self, addr: bytes, name: str, challenge: int) -> RAP
287
293
payload += format_tlv (FieldTag .COIN_TYPE , 0x3c ) # ETH in slip-44
288
294
payload += format_tlv (FieldTag .TRUSTED_NAME , name )
289
295
payload += format_tlv (FieldTag .ADDRESS , addr )
290
- return self ._provide_trusted_name_common (payload )
296
+ return self ._provide_trusted_name_common (payload , TrustedNameSource . ENS )
291
297
292
298
def provide_trusted_name_v2 (self ,
293
299
addr : bytes ,
@@ -311,7 +317,7 @@ def provide_trusted_name_v2(self,
311
317
if not_valid_after is not None :
312
318
assert len (not_valid_after ) == 3
313
319
payload += format_tlv (FieldTag .NOT_VALID_AFTER , struct .pack ("BBB" , * not_valid_after ))
314
- return self ._provide_trusted_name_common (payload )
320
+ return self ._provide_trusted_name_common (payload , name_source )
315
321
316
322
def set_plugin (self ,
317
323
plugin_name : str ,
0 commit comments