 |
Certificate Request functions |
 |
x.509 functions |
 |
PKCS7 functions |
 |
RSA |
|
csr_new
Generates a CSR.
Syntax
Function csr_new (dn As Object, privkey, [configargs], [extraattribs]) As Object
csr_new() generates a new CSR (Certificate
Signing Request) based on the information provided by dn,
which represents the Distinguished Name to be used in the certificate.
privkey should be set to a private key that
was previously generated by pkey_new
(or otherwise obtained from the other openssl_pkey family of functions). The
corresponding public portion of the key will be used to sign the CSR.
extraattribs is used to specify additional
configuration options for the CSR. Both dn and
extraattribs are associative arrays whose keys
are converted to OIDs and applied to the relevant part of the request.
Note: You need to have a valid openssl.cnf
installed for this function to operate correctly.
By default, the information in your system openssl.conf
is used to initialize the request; you can specify a configuration file section
by setting the config_section_section key of configargs.
You can also specify an alternative openssl configuration file by setting the
value of the config key to the path of the file you
want to use. The following keys, if present in configargs
behave as their equivalents in the openssl.conf, as
listed in the table below.
Table 1. Configuration overrides
| configargs
key |
type |
openssl.conf
equivalent |
description |
| digest_alg |
string |
default_md |
Selects which digest method to use |
| x509_extensions |
string |
x509_extensions |
Selects which extensions should be used
when creating an x509 certificate |
| req_extensions |
string |
req_extensions |
Selects which extensions should be used
when creating a CSR |
| private_key_bits |
string |
default_bits |
Specifies how many bits should be used
to generate a private key |
| private_key_type |
integer |
none |
Specifies the type of private key to
create. This can be one of OPENSSL_KEYTYPE_DSA,
OPENSSL_KEYTYPE_DH or OPENSSL_KEYTYPE_RSA.
The default value is OPENSSL_KEYTYPE_RSA
which is currently the only supported key type. |
| encrypt_key |
boolean |
encrypt_key |
Should an exported key (with passphrase)
be encrypted? |
Returns TRUE on success or FALSE
on failure.
Example
Set dn = CreateObject("Scripting.Dictionary")
dn.Add "countryName", "UK"
dn.Add "stateOrProvinceName", "Somerset"
dn.Add "localityName", "Glastonbury"
dn.Add "organizationName", "The Brain Room Limited"
dn.Add "organizationalUnitName", "PHP Documentation Team"
dn.Add "commonName", "Wez Furlong"
dn.Add "emailAddress", "wez@example.com"
Set privkey = ssl.pkey_new()
Set certificate_request = ssl.csr_new(dn, privkey)
ssl.csr_export_to_file certificate_request,
"certificate1.csr" |
|