$iPhoneActivationOrigVect = openssl_pkey_get_details(openssl_pkey_get_public($iPhoneActivationOrig)); $iPhoneActivationOrigPublicKey = $iPhoneActivationOrigVect['key']; $Message .= "Apple Certificate PRODUCTION : " . "\n" . $iPhoneActivationOrig . "\n"; $Message .= "Apple Certificate PublicKey, Apple Inc. : " . "\n" . $iPhoneActivationOrigPublicKey . "\n"; $iPhoneDeviceCAOrig = file_get_contents($iPhoneDeviceCAOrigFile); $iPhoneDeviceCAOrigVect = openssl_pkey_get_details(openssl_pkey_get_public($iPhoneDeviceCAOrig)); $iPhoneDeviceCAOrigPublicKey = $iPhoneDeviceCAOrigVect['key']; $Message .= "Apple Certificate PRODUCTION : " . "\n" . $iPhoneDeviceCAOrig . "\n"; $Message .= "Apple Certificate PublicKey, Apple Inc. : " . "\n" . $iPhoneDeviceCAOrigPublicKey . "\n"; //print $iPhoneDeviceCAOrig; $DeviceCAOrig = new File_X509(); $DeviceCAOrig->loadX509($iPhoneDeviceCAOrig); $DeviceCAOrigPublicKey = $DeviceCAOrig->getPublicKey($iPhoneDeviceCAOrig); $DeviceCAOrigDN = $DeviceCAOrig->getDN(true); $DeviceCAOrigIssuerDN = $DeviceCAOrig->getIssuerDN(true); $DeviceCAOrigExtensions = $DeviceCAOrig->getExtensions(); $iPhoneDeviceCANew_x509 = new File_X509(); //$iPhoneDeviceCANew_x509->setPublicKey ( $DeviceCAOrigPublicKey ); //$iPhoneDeviceCANew_x509->setDN ( $DeviceCAOrigDN ); $iPhoneDeviceCANew_x509->setStartDate('-1 day'); $iPhoneDeviceCANew_x509->setEndDate('+ 10 year'); //$iPhoneDeviceCANew_x509->setIssuerDN ( $DeviceCAOrigIssuerDN ); $extensions = array(); $i = 0; if (is_array($DeviceCAOrigExtensions)) { foreach ($DeviceCAOrigExtensions as $extension) { $extensions[] = $extension; $value = $DeviceCAOrig->getExtension($extension); $iPhoneDeviceCANew_x509->setExtension($extension, $value); //print $extension . "\n" . print_r($value); }