|
11 | 11 |
|
12 | 12 | from securesystemslib import KEY_TYPE_ECDSA
|
13 | 13 | from securesystemslib.exceptions import UnsupportedLibraryError
|
| 14 | +from securesystemslib.keys import _get_keyid |
14 | 15 | from securesystemslib.signer._key import Key, SSlibKey
|
15 | 16 | from securesystemslib.signer._signature import Signature
|
16 | 17 | from securesystemslib.signer._signer import SecretsHandler, Signer
|
@@ -191,17 +192,14 @@ def _find_key_values(
|
191 | 192 | return ECDomainParameters.load(bytes(params)), bytes(point)
|
192 | 193 |
|
193 | 194 | @classmethod
|
194 |
| - def import_( |
195 |
| - cls, sslib_keyid: str, hsm_keyid: Optional[int] = None |
196 |
| - ) -> Tuple[str, SSlibKey]: |
| 195 | + def import_(cls, hsm_keyid: Optional[int] = None) -> Tuple[str, SSlibKey]: |
197 | 196 | """Import public key and signer details from HSM.
|
198 | 197 |
|
199 | 198 | Returns a private key URI (for Signer.from_priv_key_uri()) and a public
|
200 | 199 | key. import_() should be called once and the returned URI and public
|
201 | 200 | key should be stored for later use.
|
202 | 201 |
|
203 | 202 | Arguments:
|
204 |
| - sslib_keyid: Key identifier that is unique within the metadata it is used in. |
205 | 203 | hsm_keyid: Key identifier on the token. Default is 2 (meaning PIV key slot 9c).
|
206 | 204 |
|
207 | 205 | Raises:
|
@@ -244,12 +242,11 @@ def import_(
|
244 | 242 | .decode()
|
245 | 243 | )
|
246 | 244 |
|
247 |
| - key = SSlibKey( |
248 |
| - sslib_keyid, |
249 |
| - KEY_TYPE_ECDSA, |
250 |
| - _SCHEME_FOR_CURVE[curve], |
251 |
| - {"public": public_pem}, |
252 |
| - ) |
| 245 | + keyval = {"public": public_pem} |
| 246 | + scheme = _SCHEME_FOR_CURVE[curve] |
| 247 | + keyid = _get_keyid(KEY_TYPE_ECDSA, scheme, keyval) |
| 248 | + key = SSlibKey(keyid, KEY_TYPE_ECDSA, scheme, keyval) |
| 249 | + |
253 | 250 | return "hsm:", key
|
254 | 251 |
|
255 | 252 | @classmethod
|
|
0 commit comments