Keyfactor Signature Provider
============================
SPSDK Signature Provider plugin using Keyfactor's API
Features
--------
* Allows SPSDK to use Keyfactor for signing any arbitrary data
* Users might be authenticated using Client Certificates
Installation
------------
* Activate virtual env, where you have SPSDK
- to install spsdk run: `pip install spsdk`
* `pip install spsdk_keyfactor`
Usage
-----
All of plugin configuration can be done via environment variables:
- `KEYFACTOR_HOST`: URL of the Keyfactor host (example: "https://ray-signserver.keyfactoriot.com")
- `KEYFACTOR_HOST_VERIFY`: Path to a TLS certificate to verify the HOST (example: "ejbcav8demo.keyfactoriot.com.pem")
- `KEYFACTOR_AUTH_TYPE`: Type of authentication in Keyfactor
- `client_certificate_key` using client x509 certificate and private key
- `client_certificate_pkcs12` using client PKCS#12 certificate and password (password might be stored in a file, and then password is a path to a file with the password to PKCS#12 certificate)
- `KEYFACTOR_AUTH_VALUE`: Coma-separated string of values described by `KEYFACTOR_AUTH_TYPE` (example for PKCS#12: "path_to_pkcs.p12,path_to_pass.txt")
- `KEYFACTOR_WORKER`: Name or ID of the Keyfactor Worker to use (example: "PlainSigner")
- `KEYFACTOR_PREHASH`: Client-side pre-hashing of data (example: "NONE", "SHA-256")
- if this setting is skipped, the plugin will autodetect the value
- `KEYFACTOR_SIGNATURE_LENGTH`: Length in bytes of the raw signature (without potential DER encoding) (example: 256 for RSA, 64 for ECC-256)
- if this setting is skipped, the plugin will autodetect the value
Environment variables may be specified in a file.
By default the plugin searches for file named `.keyfactor.env` in the following locations: `CWD`, `HOME`, `~/.config`
The path to env file also be set via environment variable `KEYFACTOR_DOTENV_PATH`
Once the plugin is configured, you may use it everywhere in SPSDK config files where a path to a private key or signature provider is mentioned. The identifier for this plugin is `keyfactor`.
Example: `signProvider: type=keyfactor[;worker=myWorker]`
- (setting the worker name/id in SPSDK config file overrides the KEYFACTOR_WORKER setting)
Credits
-------
This package was created with [Cookiecutter](https://github.com/audreyr/cookiecutter) and the [SPSDK Signature Provider project template](https://github.com/nxp-mcuxpresso/spsdk/blob/master/examples/plugins/templates/cookiecutter-spsdk-sp-plugin.zip).
Raw data
{
"_id": null,
"home_page": null,
"name": "spsdk-keyfactor",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "NXP <michal.starecek@nxp.com>",
"keywords": "NXP, SPSDK, Keyfactor, Signature Provider",
"author": "NXP",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/40/04/0346a1ff9a41d05c3badb1e6341c2c2fa02fad102e5a4720ad896d9175ef/spsdk_keyfactor-0.3.0.tar.gz",
"platform": null,
"description": "\r\nKeyfactor Signature Provider\r\n============================\r\n\r\nSPSDK Signature Provider plugin using Keyfactor's API\r\n\r\n\r\nFeatures\r\n--------\r\n\r\n* Allows SPSDK to use Keyfactor for signing any arbitrary data\r\n* Users might be authenticated using Client Certificates\r\n\r\n\r\nInstallation\r\n------------\r\n\r\n* Activate virtual env, where you have SPSDK\r\n - to install spsdk run: `pip install spsdk`\r\n* `pip install spsdk_keyfactor`\r\n\r\n\r\nUsage\r\n-----\r\n\r\nAll of plugin configuration can be done via environment variables:\r\n\r\n- `KEYFACTOR_HOST`: URL of the Keyfactor host (example: \"https://ray-signserver.keyfactoriot.com\")\r\n- `KEYFACTOR_HOST_VERIFY`: Path to a TLS certificate to verify the HOST (example: \"ejbcav8demo.keyfactoriot.com.pem\")\r\n- `KEYFACTOR_AUTH_TYPE`: Type of authentication in Keyfactor\r\n - `client_certificate_key` using client x509 certificate and private key\r\n - `client_certificate_pkcs12` using client PKCS#12 certificate and password (password might be stored in a file, and then password is a path to a file with the password to PKCS#12 certificate)\r\n- `KEYFACTOR_AUTH_VALUE`: Coma-separated string of values described by `KEYFACTOR_AUTH_TYPE` (example for PKCS#12: \"path_to_pkcs.p12,path_to_pass.txt\")\r\n- `KEYFACTOR_WORKER`: Name or ID of the Keyfactor Worker to use (example: \"PlainSigner\")\r\n- `KEYFACTOR_PREHASH`: Client-side pre-hashing of data (example: \"NONE\", \"SHA-256\")\r\n - if this setting is skipped, the plugin will autodetect the value\r\n- `KEYFACTOR_SIGNATURE_LENGTH`: Length in bytes of the raw signature (without potential DER encoding) (example: 256 for RSA, 64 for ECC-256)\r\n - if this setting is skipped, the plugin will autodetect the value\r\n\r\nEnvironment variables may be specified in a file.\r\nBy default the plugin searches for file named `.keyfactor.env` in the following locations: `CWD`, `HOME`, `~/.config` \r\nThe path to env file also be set via environment variable `KEYFACTOR_DOTENV_PATH`\r\n\r\n\r\nOnce the plugin is configured, you may use it everywhere in SPSDK config files where a path to a private key or signature provider is mentioned. The identifier for this plugin is `keyfactor`. \r\n\r\n\r\nExample: `signProvider: type=keyfactor[;worker=myWorker]` \r\n- (setting the worker name/id in SPSDK config file overrides the KEYFACTOR_WORKER setting)\r\n\r\nCredits\r\n-------\r\n\r\nThis package was created with [Cookiecutter](https://github.com/audreyr/cookiecutter) and the [SPSDK Signature Provider project template](https://github.com/nxp-mcuxpresso/spsdk/blob/master/examples/plugins/templates/cookiecutter-spsdk-sp-plugin.zip).\r\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "SPSDK Signature Provider plugin using Keyfactor's API",
"version": "0.3.0",
"project_urls": {
"Homepage": "https://github.com/nxp-mcuxpresso/spsdk_plugins/tree/master/keyfactor",
"Issues": "https://github.com/nxp-mcuxpresso/spsdk_plugins/issues"
},
"split_keywords": [
"nxp",
" spsdk",
" keyfactor",
" signature provider"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3c7624b66dce1ee057aff8bf3d9ff1ba24371182a7bde1125405e578906d4153",
"md5": "27d2a85384f4013f727932ec6cdce8c8",
"sha256": "f1e87e18e93deae198142a428c8d48d911690fd4068c9c9ed9a2ecfd7ac71a46"
},
"downloads": -1,
"filename": "spsdk_keyfactor-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "27d2a85384f4013f727932ec6cdce8c8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 8211,
"upload_time": "2024-12-19T12:11:48",
"upload_time_iso_8601": "2024-12-19T12:11:48.446247Z",
"url": "https://files.pythonhosted.org/packages/3c/76/24b66dce1ee057aff8bf3d9ff1ba24371182a7bde1125405e578906d4153/spsdk_keyfactor-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "40040346a1ff9a41d05c3badb1e6341c2c2fa02fad102e5a4720ad896d9175ef",
"md5": "eb2f049e0228c78c5dde1813090d56d3",
"sha256": "1c77ba02fd19fdd8d5e58981c8d2e4f9a5425590dbb12c6ea31eeb64e898ee2b"
},
"downloads": -1,
"filename": "spsdk_keyfactor-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "eb2f049e0228c78c5dde1813090d56d3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 9259,
"upload_time": "2024-12-19T12:11:49",
"upload_time_iso_8601": "2024-12-19T12:11:49.575918Z",
"url": "https://files.pythonhosted.org/packages/40/04/0346a1ff9a41d05c3badb1e6341c2c2fa02fad102e5a4720ad896d9175ef/spsdk_keyfactor-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-19 12:11:49",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nxp-mcuxpresso",
"github_project": "spsdk_plugins",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "spsdk-keyfactor"
}