[ 
https://issues.apache.org/jira/browse/QPID-8774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Partha Sarathy Maripini updated QPID-8774:
------------------------------------------
    Description: 
Add the package org.apache.qpid.server.security.certificate to broker-core:
* CertificateGeneratorFactory (Pluggable, discovered with QpidServiceLoader) 
creates a CertificateGenerator.
* CertificateGenerator#generate(CertificateRequest) returns a 
GeneratedCertificate (private key and X.509 certificate) and reports failures 
as GeneralSecurityException; no new exception types are added.
* CertificateRequest is an immutable request built with 
CertificateRequest.builder(): key and signature algorithms, key length, 
subject, validity, DNS names and IP addresses. It validates its input so that 
every generator sees the same request.
* AbstractCertificateGeneratorContractTest, published in the broker-core test 
jar, defines the behaviour every generator must meet.

  was:
*Background:*
broker-core currently depends directly on Bouncy Castle libraries and exposes 
BC-specific exception types during self-signed certificate generation.

*Tasks:*
1. Create a provider-agnostic interface `CertificateGeneratorProvider` 
extending `org.apache.qpid.server.plugin.Pluggable`.
2. Define interface methods accepting standard JRE types 
(`java.security.KeyPair`, `X500Principal` / DN string, validity days, signature 
algorithm).
3. Create a generic runtime exception `CertificateGenerationException` in 
`broker-core` to replace standard Bouncy Castle exception leaks.

*Acceptance Criteria:*
- broker-core contains the SPI and custom exception.
- No org.bouncycastle imports remain inside the SPI definition or exception 
class.

 


> [Broker-J] Define a certificate generator SPI in broker-core
> ------------------------------------------------------------
>
>                 Key: QPID-8774
>                 URL: https://issues.apache.org/jira/browse/QPID-8774
>             Project: Qpid
>          Issue Type: Sub-task
>          Components: Broker-J
>            Reporter: Partha Sarathy Maripini
>            Priority: Major
>
> Add the package org.apache.qpid.server.security.certificate to broker-core:
> * CertificateGeneratorFactory (Pluggable, discovered with QpidServiceLoader) 
> creates a CertificateGenerator.
> * CertificateGenerator#generate(CertificateRequest) returns a 
> GeneratedCertificate (private key and X.509 certificate) and reports failures 
> as GeneralSecurityException; no new exception types are added.
> * CertificateRequest is an immutable request built with 
> CertificateRequest.builder(): key and signature algorithms, key length, 
> subject, validity, DNS names and IP addresses. It validates its input so that 
> every generator sees the same request.
> * AbstractCertificateGeneratorContractTest, published in the broker-core test 
> jar, defines the behaviour every generator must meet.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to