On Wed, Aug 04, 2010, Bram Cymet wrote:

> HI,
> 
> Give a configuration like the following:
> 
> subjectAltName=otherName:1.3.6.1.5.2.2;SEQUENCE:princ_name
> 
> 
> # Copy subject details
> 
> issuerAltName=issuer:copy
> 
> [princ_name]
> realm = EXP:0, GeneralString:${ENV::REALM}
> principal_name = EXP:1, SEQUENCE:principal_seq
> 
> [principal_seq]
> name_type = EXP:0, INTEGER:1
> name_string = EXP:1, SEQUENCE:principals
> 
> [principals]
> princ1 = GeneralString:${ENV::CLIENT}
> 
> 
> Can someone give me an idea of how openssl would encode this, or at
> least point me at the code that would encode this so I can figure it out.
> 
> I am trying to figure out the asn1 structures that would be created.
> 

Well the ${ENV::xxx} stuff is environment variable expansion.

If you want to see what structure is created your easiest option is to create
a tets certificate using that configuration and check the subjectAltName
extension using asn1parse. There is also an option to asn1parse that uses the
mini-ASN1 compiler with similar syntax.

It's not too hard to figure out from the docs, for example:

subjectAltName=otherName:1.3.6.1.5.2.2;SEQUENCE:princ_name

Is subjectAltName extension, using otherName option and that OID, the value is
a SEQUENCE defined by the section "princ_name":

[princ_name]
realm = EXP:0, GeneralString:${ENV::REALM}
principal_name = EXP:1, SEQUENCE:principal_seq

>From above that SEQUENCE consists of an explicit tag 0 GeneralString with
REALM environment variable value and another explicit tage 1 SEQUENCE
described by the section principal_seq, etc etc.

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to