I am looking for a library / module / package with which I could create and sign X.509 certificates, with the ability to conditionally add custom extensions v3 and ndash; which can be quite complicated; for example, this bletchful piece of OpenSSL.cnf used by Kerberos PKINIT is just to represent foo@EXAMPLE.ORG
:
[v3_extensions]
subjectAltName = email: foo@example.org ,
otherName: pkinitSan; SEQUENCE: krb_princ_name_1
[krb_princ_name_1]
realm = EXP: 0, GeneralString: EXAMPLE.ORG
principal_name = EXP: 1, SEQUENCE: krb_princ_seq_1
[krb_princ_seq_1]
name_type = EXP: 0, INTEGER: 1
name_string = EXP: 0, SEQUENCE: krb_principal_1
[krb_principal_1]
princ0 = GeneralString: foo
From all that I have found for languages ββthat I know (Perl, Python, Ruby, PHP, Bash and some C #), using openssl
from the command line with automatically generated .cnf files ... which is an ugly process. Is there a better way to do this? (Ruby 'openssl' at first looked very pretty, but then I ended up in PKINIT ...)
source share