cryptacular icon indicating copy to clipboard operation
cryptacular copied to clipboard

Additional certificate utility methods

Open serac opened this issue 1 year ago • 1 comments

Add the following useful methods to CertUtil:

  1. encodeCert - produce the PEM-encoding given an X509Certificate object
  2. subjectDN - produce a string version of the subject of the given X509Certificate object
  3. generateCert - Produce a self-signed X509Certificate object given a key pair and validity period as a Duration

For (2), consider flags or overloaded variants that optionally produce output containing spaces; for example:

System.out.println(selfSignedCert.getSubjectX500Principal().toString());
CN=middleware-test, OU=Middleware, O=Virginia Polytechnic Institute and State University, L=Blacksburg, ST=Virginia, DC=vt, DC=edu, C=US
System.out.println(selfSignedCert.getSubjectX500Principal().getName());
CN=middleware-test,OU=Middleware,O=Virginia Polytechnic Institute and State University,L=Blacksburg,ST=Virginia,DC=vt,DC=edu,C=US

Comparing DNs by string representation is fraught with peril, but providing both outputs could be helpful for simple cases.

For(3) the method should support both RSA and EC keys.

serac avatar Mar 14 '24 18:03 serac

https://github.com/vt-middleware/cryptacular/pull/68

haripri-vt avatar Mar 25 '24 14:03 haripri-vt