Skip to content

Conversation

zosocanuck
Copy link

Add Venafi CodeSign Protect as a PKCS#11 provider and provide some basic documentation on how to leverage PKCS#11 for signing.

@ebourg
Copy link
Owner

ebourg commented Jan 29, 2025

Thank you for the PR, I agree the PKCS#11 documentation could be improved.

Regarding Venafi I think there are too many PKCS#11 implementations to list them all, I prefer mentioning a few of the most popular hardware based ones.

However it looks like Venafi CodeSign Protect is a cloud signing service, it could be integrated directly into Jsign without using the PKCS#11 module. Do you know if its API is documented?

@zosocanuck
Copy link
Author

Venafi CodeSign Protect is currently only a self-hosted solution with a well-documented API. That said it may be much easier to use the PKCS#11 integration approach with a roadmap item to integrate natively via API. Thoughts?

@ebourg
Copy link
Owner

ebourg commented Jan 29, 2025

I think I prefer the API integration, PKCS#11 is a pain to use.

I got a look at the documentation, the REST API seems pretty straightforward:

https://docs.venafi.com/Docs/24.1API/#?route=post-/vedhsm/api/sign

@zosocanuck
Copy link
Author

Sounds good. Let me know how I can provide help with the API integration given that I work at Venafi (A CyberArk Company).

@ebourg
Copy link
Owner

ebourg commented Jan 30, 2025

If you want to implement it I can guide you through the process. There are several examples in the jsign-crypto module. Otherwise I'd need a temporary access to a CodeSign Protect instance.

@zosocanuck
Copy link
Author

I can work on getting this implemented and will open a separate PR. It would still be good to include an example of how to use the PKCS#11 keystore.

@ebourg
Copy link
Owner

ebourg commented Feb 7, 2025

I've implemented a new signing service for SignPath (5a44185), you can use this commit as a template for CodeSign Protect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants