X509V3_EXT_nconf_int:error in extension:crypto/x509/v3_conf.c:48:section=req_ext, name=extendedKeyUsage, value=
Robert Moskowitz
rgm at htt-consult.com
Wed Jul 5 16:39:01 UTC 2023
Oow, the docs are wrong!
-regexts DOES work without the -x509 option.
Or at least my reading of the docs at:
https://www.openssl.org/docs/man3.1/man1/openssl-req.html
On 7/5/23 12:34, Robert Moskowitz wrote:
>
>
> On 7/5/23 12:15, Viktor Dukhovni wrote:
>> On Wed, Jul 05, 2023 at 11:51:42AM -0400, Robert Moskowitz wrote:
>>
>>> I have:
>>>
>>> [ req_ext ]
>>> basicConstraints = $ENV::basicConstraints
>>> keyUsage = $ENV::certkeyusage
>>> extendedKeyUsage = $ENV::certextkeyusage
>>> subjectAltName = $ENV::subjectAltName
>>>
>>> And sometimes I want these variables to be empty. That is not to be
>>> included in the csr.
>>>
>>> I thought that I had this working, but guess not.
>>>
>>> How can I have is so that some csr are created with all of these and
>>> others only some?
>> Use separate config files. I always construct config files "on the
>> fly":
>>
>> $ openssl ... -config <(
>> cat common-bits.cnf
>> printf " ... custom bits %s ... \n" "$arg1" ...
>> printf " ... more custom bits %s ... \n" "$arg1" ...
>> ...
>> )
>
> Uh, yeah. I was trying to keep this simple and more usable and
> understandable.
>
> I looked at the -regexts option to have various such, but that,
> according to the docs, is only available with the -x509 option that
> you don't use for making a csr.
>
> Maybe use -extensions? and load all the req_ext in specific
> extensions rather than default to req section?
>
>
>> And don't use the "$ENV" feature. For advanced examples of that
>> pattern see:
>
> And what is wrong/bad with $ENV? Without it I would need a separate
> config file for pretty much all of the openssl commands I am using. I
> was pointed to it some years back.
>
> But thanks for these examples.
>
>>
>> https://github.com/openssl/openssl/blob/master/test/certs/mkcert.sh
>>
>> It depends on your shell (e.g. bash) supporting inline <( ... ) files
>> (under the covers /dev/fd/<pipe-fd-number>). Works for any file that
>> is read sequentially from the start without seeking (pipes don't lseek).
>>
>> You can of course also curate multiple config templates that use various
>> subsets of the desired parameters, or a single script can look at which
>> environment variables are set and generate the correspondig config on
>> the fly as above, or in tempfile:
>>
>> cnf=$(mktemp -t cnf.XXXXXX)
>> trap 'rc=$?; '"rm -f ${cnf}; "'exit $rc' EXIT HUP INT TERM
>>
>> ... generate custom config in "$cnf" ...
>> openssl -config "$cnf" ....
>>
>
More information about the openssl-users
mailing list