Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE REQ] Azure Keyvault JAR Signer missing Intermediate Cert Chain #39715

Closed
wpabon123 opened this issue Apr 15, 2024 · 8 comments · Fixed by #41303
Closed

[FEATURE REQ] Azure Keyvault JAR Signer missing Intermediate Cert Chain #39715

wpabon123 opened this issue Apr 15, 2024 · 8 comments · Fixed by #41303
Assignees
Labels
azure-spring All azure-spring related issues azure-spring-jca customer-reported Issues that are reported by GitHub users external to the Azure organization. feature-request This issue requires a new behavior in the product in order be resolved. KeyVault needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team
Milestone

Comments

@wpabon123
Copy link

I'm using KeyVault jarsigner provider version 2.8.1. The signing works fine but when I verify the JAR file, I get the error that the chain trust cannot be verified. The code signing cert was created by DigiCert. That cert has the full chain of trust so no idea why the jarsigner is not capturing the whole chain of trust.

This is the error message I receive:
"This jar contains entries whose certificate chain is not validated."

Sounds to me this could be an issue associated with the JAVA versions used but not sure.

@github-actions github-actions bot added customer-reported Issues that are reported by GitHub users external to the Azure organization. needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. question The issue doesn't require a change to the product in order to be resolved. Most issues start as that labels Apr 15, 2024
@ThatCheck
Copy link

Same here

@wpabon123 Are you able to solve the problem ?

@wpabon123
Copy link
Author

I was able to validate that the jarsigner has no record of the lower level cert in the local keystore. The higher CA is fine, is present in the local keystore and it gets recognize by the -verify process. But because of new requirements that will not allow the lower level cert from leaving the KeyVault, the -verify will not see it unless you verify against the KeyVault and then the warning goes away. This is problematic since you will require to provide access to the customer to check that the code signing cert is valid.

Problem is, this defeats the purpose of protecting the code signing cert in KeyVault since the verify will try to find a trace in the local keystore. I'm researching an option to sync from Azure to the local keystore but I do not have definite results yet. I'll post more info once I complete my tests.

@joshfree
Copy link
Member

joshfree commented May 6, 2024

@vcolin7 please follow up with @wpabon123 and @ThatCheck on this github issue; thank you

@github-actions github-actions bot removed the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label May 6, 2024
@vcolin7
Copy link
Member

vcolin7 commented May 9, 2024

Adding @saragluna from the team that owns this package (com.azure:azure-security-keyvault-jca:2.8.1). Xiaolu, is there any way customers could sync the chain to verify so all certs are in the local keystore?

@wpabon123 Are you not able to get the lower-level certificate out of the Key Vault or are you not allowed to by the new requirements you mentioned?

@wpabon123
Copy link
Author

No, per new requirements the lower stays secure in the FIPS Hardware. That is why the -verify fails with the warning for the lower level when checking the chain of trust.

@saragluna
Copy link
Member

Yes, the cert chain valiation is missing from the library, we could add that.

@saragluna saragluna assigned saragluna and unassigned vcolin7 Jun 14, 2024
@saragluna saragluna added the azure-spring All azure-spring related issues label Jun 14, 2024
@github-actions github-actions bot added the needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team label Jun 14, 2024
@rujche rujche assigned rujche and unassigned saragluna Jul 23, 2024
@KJW812
Copy link

KJW812 commented Jul 23, 2024

Did you find an anser for this? I am finding the same issue using a DigiCert code signing request that is stored in Azure Key Vault. I converted the p7b to base64 as per the Azure requirement which should have preserved the cert chain. However, when I sign a JAR file using jarsigner it only has the code signing cert in the signer when I verify. This is causing Oracle EBS to treat JARs as unsigned as the SignerCA is DigiCert on the users desktops, not my OU

@saragluna saragluna added this to the 2024-09 milestone Jul 29, 2024
@saragluna saragluna added feature-request This issue requires a new behavior in the product in order be resolved. and removed question The issue doesn't require a change to the product in order to be resolved. Most issues start as that labels Jul 29, 2024
@saragluna saragluna changed the title Azure Keyvault JAR Signer missing Intermediate Cert Chain [FEATURE REQ] Azure Keyvault JAR Signer missing Intermediate Cert Chain Jul 29, 2024
@rujche
Copy link
Member

rujche commented Aug 1, 2024

FYI: This issue will be solved by this PR: #41303

@chlowell chlowell moved this from Untriaged to In PR in Azure SDK for Key Vault Aug 1, 2024
@github-project-automation github-project-automation bot moved this from Todo to Done in Spring Cloud Azure Sep 10, 2024
@github-project-automation github-project-automation bot moved this from In PR to Done in Azure SDK for Key Vault Sep 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
azure-spring All azure-spring related issues azure-spring-jca customer-reported Issues that are reported by GitHub users external to the Azure organization. feature-request This issue requires a new behavior in the product in order be resolved. KeyVault needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team
Projects
Archived in project
Status: Done
Development

Successfully merging a pull request may close this issue.

7 participants