Skip to content

Help I lost my identity!

dovholuknf edited this page May 19, 2021 · 9 revisions

NOTE: As of Jan-2021 this problem is expected to be resolved and is performed automatically. "Orphaned" identities are discovered and restored automatically.


Ugh. I'm really sorry to hear this. We try to make bug-free code but, it happens... The good news is that you probably did NOT lose your identity! The only time you can actually lose your identity is if you press the "forget identity" button from the UI!

It is possible that the mechanism responsible for saving state has malfunctioned - leaving you with a system that LOOKS like you have no identity. It will be there tucked safely away under the SYSTEM profile for you to recover.

Here's how you can recover a "lost" identity.

WARNING This is for technical users only and requires you to be an Administrator on the computer in order to perform these actions. You also should have rudimentary knowledge of json to perform these steps

Here's the step by step of how to recover an identity:

  1. Open the location of the config file. This SHOULD be at: %WINDIR%\System32\config\systemprofile\AppData\Roaming\NetFoundry

  2. Locate all the json files in this folder and take note of them. It should looks something like:

  3. First thing - backup config.json just in case. copy config.json to a file named config.json.beforefix. (This is your escape hatch file in case the following steps don't work for you)

  4. Open the config.json in your favorite text editor.

  5. If there are identities in this config.json you'll see the in json format. Find all the "FingerPrint" values and copy them somewhere. They look like this:

     "Name": "my.identity.name.nere",
     "FingerPrint": "d8e6989918134c07c39858e33167ff851d788ddf",
    
  6. Now compare the json files listed to the Identities. Your lost identity will look the same and will be listed in the folder but WILL NOT be listed in the config.json. Find the missing Identity and copy the file name without the .json at the end. In my example shown above I'm copying only 2755321d4d1eaf4c073cb2de16eeb7748940fe39.

  7. Now, make sure the ziti data service is stopped by pressing the 'big button' in the UI and verify the message in the UI tells you the service is stopped.

  8. Go back to the config.json and find this line: "Identities": [ (usually around line 4)

  9. Make a new entry under this with the following json. WARNING this is where you will need rudimentary json skill. WARNING If there are NO identities (the identities line like this with a CLOSING bracket: "Identities": []) you need to just copy and paste what's shown below between the brackets.

     {
         "Name": "this.will.get.reset.when.you.start.ziti",
         "FingerPrint": "2755321d4d1eaf4c073cb2de16eeb7748940fe39",
         "Active": false
     } 
    

    If there are ARE identities (the identities line looks like this: "Identities": [) you need to just copy and paste what's shown below AFTER the "Identities": [ line and before the first identity.

     {
         "Name": "this.will.get.reset.when.you.start.ziti",
         "FingerPrint": "2755321d4d1eaf4c073cb2de16eeb7748940fe39",
         "Active": false
     },
    
  10. Now just start the ziti data service back up and wait a few seconds for it to start. Assuming you did everything properly your identity will show back up in the UI!