No HardwareIdentityConfiguration for IdentityConfiguration

I recently updated to 0.10.0 and encrypted my .pem file.

I believe running older versions of dfx leads to the following error:
No HardwareIdentityConfiguration for IdentityConfiguration.

@Severin @claudio

1 Like

Yes, encrypted pem files are not backwards-compatible. You’d have to export it in 0.10.0 and re-import in an unencrypted identity if you want to use it in an older version.

This is a bit blocking, I really want to use the encrypted identity feature, but I have some legacy canisters that were written using older versions of dfx and that I have to deploy locally for development. Do you have an idea on how to get around this? Should I switch to a different identity when deploying those?

For local development I’d use an unencrypted identity anyways. I’m personally too lazy to type the PW every time for that.

Yes, this is the best option if you’re stuck with an older version of dfx for certain canisters.

Btw, why are you stuck on an older version of dfx? I’m sure there are good reasons, but I haven’t encountered them myself yet.

1 Like

Mainly because they’re deployed to mainnet already and I view them as immutable (even though they’re not blackholed yet). Thus I want the local dev experience to be as close to mainnet as possible. If I were to upgrade to another dfx version (and potentially moc version) I’m afraid this could lead to inconsistencies and break things

1 Like

Fair points and I totally understand your fears. Especially the moc version. But I would recommend you don’t stay on an old version for years.

Also, there will be much improved error messages coming in the next versions, so I’d claim that the pain of upgrading will be worth it :grin:

For this concern I’d actually say upgrading keeps you closer to mainnet. If you look at the Subnet Management proposals on the IC Dashboard, you’ll see that the replica (software package running on the nodes) gets upgraded every so often. The replica bundled with dfx (you can see the bundled version in the changelog and compare with the blessed releases) does not get upgraded without upgrading dfx. So you will actually run an outdated version for local development.