Sto cercando una classe di utilità in grado di generare stringhe di certificati casuali a scopo di test. Qualche idea se ce n'è una già implementata?Genera certificati casuali
risposta
Il built-in librerie Java X500 sono orientati più verso utilizzando certificati di generare e parsing certificati. Potresti trovare un modo per fare ciò che vuoi, ma sarebbe quasi certamente disordinato e in un'API protetta (sun.security.*
).
Suggerisco di includere la biblioteca del castello di Bouncy (licenza Apache). Ha una classe chiamata X509V3CertificateGenerator
che è possibile utilizzare per impostare i campi di un certificato (emittente, oggetto, data di scadenza, ecc.).
Si dovrebbe quindi essere in grado di ottenere la stringa PEM da esso utilizzando la classe PEMWriter
.
Per aggiungere alla soluzione data dalla martijno,
Invece di scrivere il proprio firmatario contenuti, JCAContentSigner può essere utilizzato per evitare le mappature a AlgorithmIdentifier (vale a dire OID).
JcaContentSignerBuilder accetta i nomi degli algoritmi come definiti here.
X509v3CertificateBuilder certBuilder = new X509v3CertificateBuilder(issuer, serialNumber, startDate, expiryDate, subject, SubjectPublicKeyInfo.getInstance(keyPair.getPublic().getEncoded()));
JcaContentSignerBuilder builder = new JcaContentSignerBuilder("SHA256withRSA");
ContentSigner signer = builder.build(keyPair.getPrivate());
byte[] certBytes = certBuilder.build(signer).getEncoded();
CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
X509Certificate certificate = (X509Certificate)certificateFactory.generateCertificate(new ByteArrayInputStream(certBytes));
Ho ragione se questo non è un certificato autofirmato, devo solo sostituire la chiave privata con la chiave privata della CA? – maxbit89
- 1. Genera byte casuali Cocoa?
- 2. genera caratteri casuali in c
- 3. Genera valori casuali in C#
- 4. Genera catena di certificati in java
- 5. Genera numeri casuali in base alle distribuzioni
- 6. Genera numeri casuali con distribuzione probabilistica
- 7. Genera numeri casuali lognormali in MATLAB?
- 8. Genera punti casuali distribuiti come città?
- 9. genera numeri interi casuali con probabilità
- 10. scipy - genera variabili casuali con correlazioni
- 11. Genera certificati, chiavi pubbliche e private con Java
- 12. genera numeri casuali di cui la somma è costante
- 13. Genera numeri casuali identici in R e Julia
- 14. Genera numeri casuali ad eccezione di determinati valori
- 15. Genera matrice con variabili casuali normali iid utilizzando R
- 16. Genera numeri casuali senza utilizzare alcuna funzione esterna
- 17. Genera numeri casuali con distribuzione logaritmica e pendenza personalizzata
- 18. Genera numeri casuali tra 0 e 1 con distribuzioni gaussiane
- 19. Genera numeri casuali tra due numeri in Objective-C
- 20. Genera 3 numeri casuali che sommano a 1 in R
- 21. Genera colori casuali con puro CSS (non javascript)?
- 22. Java 7: ThreadLocalRandom che genera gli stessi numeri casuali
- 23. Generatore di numeri casuali che genera numeri interi per Java
- 24. Genera un insieme di numeri casuali univoci in Java
- 25. Genera numeri casuali univoci in Postgresql con lunghezza fissa
- 26. c - generatore di numeri casuali
- 27. Ottieni l'elenco dei certificati dall'archivio certificati in C#
- 28. Certificati client HTTPS con Monotouch
- 29. CNAME Certificati SSL
- 30. Certificati client concatenati
Si noti che 'X509V3CertificateGenerator' è stato deprecato (almeno in Bouncy Castle 1.47). Suggeriscono di usare 'X509v3CertificateBuilder' (non nel' bcprov' ma nel vaso 'bcpkix'). – martijno
Ora è nel contenitore 'bcmail' – KeksArmee
@KeksArmee: è ancora in' bcpkix'. – jackyalcine