Advertisement
Guest User

Untitled

a guest
Feb 9th, 2015
295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.23 KB | None | 0 0
  1. <?php
  2. include('File/X509.php');
  3. include('Crypt/RSA.php');
  4.  
  5. // create private key / x.509 cert for stunnel / website
  6. $privKey = new Crypt_RSA();
  7. extract($privKey->createKey());
  8. $privKey->loadKey($privatekey);
  9.  
  10. $pubKey = new Crypt_RSA();
  11. $pubKey->loadKey($publickey);
  12. $pubKey->setPublicKey();
  13.  
  14. $subject = new File_X509();
  15. $subject->setDNProp('id-at-organizationName', 'phpseclib demo cert');
  16. //$subject->removeDNProp('id-at-organizationName');
  17. $subject->setPublicKey($pubKey);
  18.  
  19. $issuer = new File_X509();
  20. $issuer->setPrivateKey($privKey);
  21. $issuer->setDN($subject->getDN());
  22.  
  23. $x509 = new File_X509();
  24. //$x509->setStartDate('-1 month'); // default: now
  25. //$x509->setEndDate('+1 year'); // default: +1 year
  26.  
  27. //FILE_ASN1_TYPE_OBJECT_IDENTIFIER
  28.  
  29. $result = $x509->sign($issuer, $subject);
  30.  
  31. $asn1 = new File_ASN1();
  32.  
  33. $value = "\x80\xFF\xFF";
  34. //$value = pack('H*', '2a864886f70d010105');
  35. $result['tbsCertificate']['signature']['algorithm'] = new File_ASN1_Element(chr(FILE_ASN1_TYPE_OBJECT_IDENTIFIER) . $asn1->_encodeLength(strlen($value)) . $value);
  36.  
  37.  
  38. echo "the stunnel.pem contents are as follows:\r\n\r\n";
  39. echo $privKey->getPrivateKey();
  40. echo "\r\n";
  41. echo $x509->saveX509($result);
  42. echo "\r\n";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement