Config/Posh-YBKPIV.json

{
  "version": "1.0",
  "installation": {
    "urlTemplate": "https://developers.yubico.com/yubico-piv-tool/Releases/yubico-piv-tool-{version}-{arch}.msi",
    "version": "2.7.3",
    "architecture": "auto",
    "installPath": "C:\\Program Files\\Yubico\\Yubico PIV Tool\\bin\\yubico-piv-tool.exe",
    "installPathWow6432": "C:\\Program Files (x86)\\Yubico\\Yubico PIV Tool\\bin\\yubico-piv-tool.exe"
  },
  "cmdletWrapping": {
    "options": {
      "reader": { "cliFlag": "--reader", "short": "-r", "type": "string" },
      "verbose": { "cliFlag": "--verbose", "short": "-v", "type": "int" },
      "managementKey": { "cliFlag": "--key", "short": "-k", "type": "secureString" },
      "newManagementKey": { "cliFlag": "--new-key", "short": "-n", "type": "secureString" },
      "newManagementKeyAlgorithm": { "cliFlag": "--new-key-algo", "short": "-m", "type": "string",
                                      "allowedValues": ["TDES", "AES128", "AES192", "AES256"], "default": "TDES" },
      "slot": { "cliFlag": "--slot", "short": "-s", "type": "string",
                                  "allowedValues": ["9a", "9c", "9d", "9e", "f9"], "allowedPattern": "^(8[2-9]|9[0-5])$" },
      "toSlot": { "cliFlag": "--to-slot", "short": null, "type": "string",
                                  "allowedValues": ["9a", "9c", "9d", "9e", "f9"], "allowedPattern": "^(8[2-9]|9[0-5])$" },
      "algorithm": { "cliFlag": "--algorithm", "short": "-A", "type": "string",
                                  "allowedValues": ["RSA1024", "RSA2048", "RSA3072", "RSA4096", "ECCP256", "ECCP384", "ED25519", "X25519"],
                                  "default": "RSA2048" },
      "hash": { "cliFlag": "--hash", "short": "-H", "type": "string",
                                  "allowedValues": ["SHA1", "SHA256", "SHA384", "SHA512"], "default": "SHA256" },
      "pinRetries": { "cliFlag": "--pin-retries", "short": null, "type": "int" },
      "pukRetries": { "cliFlag": "--puk-retries", "short": null, "type": "int" },
      "input": { "cliFlag": "--input", "short": "-i", "type": "string", "default": "-" },
      "output": { "cliFlag": "--output", "short": "-o", "type": "string", "default": "-" },
      "keyFormat": { "cliFlag": "--key-format", "short": "-K", "type": "string",
                                  "allowedValues": ["PEM", "PKCS12", "GZIP", "DER", "SSH"], "default": "PEM" },
      "compress": { "cliFlag": "--compress", "short": null, "type": "switch" },
      "resetGlobal": { "cliFlag": "--global", "short": null, "type": "switch" },
      "password": { "cliFlag": "--password", "short": "-p", "type": "secureString" },
      "subject": { "cliFlag": "--subject", "short": "-S", "type": "string" },
      "serial": { "cliFlag": "--serial", "short": null, "type": "int" },
      "validDays": { "cliFlag": "--valid-days", "short": null, "type": "int", "default": 365 },
      "pin": { "cliFlag": "--pin", "short": "-P", "type": "secureString" },
      "newPin": { "cliFlag": "--new-pin", "short": "-N", "type": "secureString" },
      "puk": { "cliFlag": "--pin", "short": "-P", "type": "secureString" },
      "newPuk": { "cliFlag": "--new-pin", "short": "-N", "type": "secureString" },
      "pinPolicy": { "cliFlag": "--pin-policy", "short": null, "type": "string",
                                  "allowedValues": ["never", "once", "always", "matchonce", "matchalways"] },
      "touchPolicy": { "cliFlag": "--touch-policy", "short": null, "type": "string",
                                  "allowedValues": ["never", "always", "cached"] },
      "objectId": { "cliFlag": "--id", "short": null, "type": "int" },
      "format": { "cliFlag": "--format", "short": "-f", "type": "string",
                                  "allowedValues": ["hex", "base64", "binary"], "default": "hex" },
      "attestation": { "cliFlag": "--attestation", "short": null, "type": "switch" },
      "encryptedChannel": { "cliFlag": "--enc", "short": null, "type": "switch" }
    },
    "actions": {
      "version": { "cliAction": "version", "requiredOptions": [], "optionalOptions": ["reader", "verbose"] },
      "status": { "cliAction": "status", "requiredOptions": [], "optionalOptions": ["reader", "verbose"] },
      "list-readers": { "cliAction": "list-readers", "requiredOptions": [], "optionalOptions": ["verbose"] },
      "generate": { "cliAction": "generate", "requiredOptions": ["slot"],
                                  "optionalOptions": ["algorithm", "pinPolicy", "touchPolicy", "output", "managementKey", "reader"] },
      "import-key": { "cliAction": "import-key", "requiredOptions": ["slot", "input"],
                                  "optionalOptions": ["keyFormat", "password", "managementKey", "pinPolicy", "touchPolicy", "reader"] },
      "import-certificate": { "cliAction": "import-certificate", "requiredOptions": ["slot", "input"],
                                  "optionalOptions": ["keyFormat", "password", "managementKey", "compress", "reader"] },
      "request-certificate": { "cliAction": "request-certificate", "requiredOptions": ["slot", "subject"],
                                  "optionalOptions": ["input", "output", "hash", "pin", "reader"] },
      "selfsign-certificate": { "cliAction": "selfsign-certificate", "requiredOptions": ["slot", "subject"],
                                  "optionalOptions": ["hash", "validDays", "output", "pin", "serial", "reader"] },
      "delete-certificate": { "cliAction": "delete-certificate", "requiredOptions": ["slot"],
                                  "optionalOptions": ["managementKey", "reader"] },
      "delete-key": { "cliAction": "delete-key", "requiredOptions": ["slot"],
                                  "optionalOptions": ["managementKey", "reader"] },
      "move-key": { "cliAction": "move-key", "requiredOptions": ["slot", "toSlot"],
                                  "optionalOptions": ["managementKey", "pinPolicy", "touchPolicy", "reader"] },
      "read-certificate": { "cliAction": "read-certificate", "requiredOptions": ["slot"],
                                  "optionalOptions": ["output", "keyFormat", "reader"] },
      "read-public-key": { "cliAction": "read-public-key", "requiredOptions": ["slot"],
                                  "optionalOptions": ["output", "reader"] },
      "write-object": { "cliAction": "write-object", "requiredOptions": ["objectId", "input"],
                                  "optionalOptions": ["format", "managementKey", "reader"] },
      "read-object": { "cliAction": "read-object", "requiredOptions": ["objectId"],
                                  "optionalOptions": ["output", "format", "reader"] },
      "attest": { "cliAction": "attest", "requiredOptions": ["slot"],
                                  "optionalOptions": ["output", "keyFormat", "reader"] },
      "test-signature": { "cliAction": "test-signature", "requiredOptions": ["slot"],
                                  "optionalOptions": ["hash", "pin", "reader"] },
      "test-decipher": { "cliAction": "test-decipher", "requiredOptions": ["slot"],
                                  "optionalOptions": ["pin", "reader"] },
      "set-mgm-key": { "cliAction": "set-mgm-key", "requiredOptions": [],
                                  "optionalOptions": ["newManagementKey", "newManagementKeyAlgorithm", "touchPolicy", "managementKey", "reader"] },
      "pin-retries": { "cliAction": "pin-retries", "requiredOptions": ["pinRetries", "pukRetries"],
                                  "optionalOptions": ["managementKey", "reader"] },
      "verify-pin": { "cliAction": "verify-pin", "requiredOptions": ["pin"], "optionalOptions": ["reader"] },
      "verify-bio": { "cliAction": "verify-bio", "requiredOptions": [], "optionalOptions": ["reader"] },
      "change-pin": { "cliAction": "change-pin", "requiredOptions": ["pin", "newPin"], "optionalOptions": ["reader"] },
      "change-puk": { "cliAction": "change-puk", "requiredOptions": ["puk", "newPuk"], "optionalOptions": ["reader"] },
      "unblock-pin": { "cliAction": "unblock-pin", "requiredOptions": ["puk", "newPin"], "optionalOptions": ["reader"] },
      "set-chuid": { "cliAction": "set-chuid", "requiredOptions": [], "optionalOptions": ["managementKey", "reader"] },
      "set-ccc": { "cliAction": "set-ccc", "requiredOptions": [], "optionalOptions": ["managementKey", "reader"] },
      "reset": { "cliAction": "reset", "requiredOptions": [], "optionalOptions": ["resetGlobal", "reader"] }
    }
  },
  "Logging": {
    "Enabled": false,
    "MinimumLevel": "Information",
    "Mode": "File",
    "File": {
      "Path": "%USERPROFILE%\\Documents\\Logs",
      "FileName": "Posh-YBKPIV-{yyyyMMdd}.log"
    },
    "EventLog": {
      "LogName": "Application",
      "Source": "Posh-YBKPIV",
      "EventIdInformation": 1000,
      "EventIdWarning": 2000,
      "EventIdError": 3000
    }
  }
}