You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

addRootCertificate.php 1.0KB

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. OCP\JSON::checkLoggedIn();
  3. OCP\JSON::callCheck();
  4. $l = new OC_L10N('core');
  5. if (!isset($_FILES['rootcert_import'])) {
  6. OCP\JSON::error(array('error' => 'No certificate uploaded'));
  7. exit;
  8. }
  9. $data = file_get_contents($_FILES['rootcert_import']['tmp_name']);
  10. $filename = basename($_FILES['rootcert_import']['name']);
  11. $certificateManager = \OC::$server->getCertificateManager();
  12. try {
  13. $cert = $certificateManager->addCertificate($data, $filename);
  14. OCP\JSON::success(array(
  15. 'name' => $cert->getName(),
  16. 'commonName' => $cert->getCommonName(),
  17. 'organization' => $cert->getOrganization(),
  18. 'validFrom' => $cert->getIssueDate()->getTimestamp(),
  19. 'validTill' => $cert->getExpireDate()->getTimestamp(),
  20. 'validFromString' => $l->l('date', $cert->getIssueDate()),
  21. 'validTillString' => $l->l('date', $cert->getExpireDate()),
  22. 'issuer' => $cert->getIssuerName(),
  23. 'issuerOrganization' => $cert->getIssuerOrganization()
  24. ));
  25. } catch(\Exception $e) {
  26. OCP\JSON::error(array('error' => 'Couldn\'t import SSL root certificate, allowed formats: PEM and DER'));
  27. }