Here is the working script with hard coded values:
$subject->currentCert['tbsCertificate']['extensions'][] = array(
'extnId' => 'id-ce-subjectAltName',
'critical' => false,
'extnValue' => array(
array('dNSName' => 'www.domain1.com'),
array('dNSName' => 'www.domain2.com')
)
);
I would like to update the above script (extnValue section only) to automatically take values from a another array called $OPTIONS["altnames"]
First I convert the following string to an array
$sans = 'www.domain1.com, www.domain2.com';
I converted the string to an array $OPTIONS["altnames"] with the following code:
$OPTIONS["altnames"] = array();
if ( !empty($sans) ) {
if (strpos($sans,",") !== false) {
$sans = str_replace(" ", "", $sans); //remove spaces
$sans = explode(",", $sans); //strip each value after comma to array
foreach ($sans as $value) {
array_push($OPTIONS["altnames"], $value);
}
}
}
Not sure what to do next
$OPTIONS['altnames'] = $sans;?array_merge()function? php.net/manual/en/function.array-merge.phpstrpos()check. What if$sansjust has one name with no comma, don't you want to put that into the options?