Require certificate common name instead of full path on check

This commit is contained in:
Niklas Keller
2016-03-12 17:30:44 +01:00
parent fc8907b984
commit afba80cc23
3 changed files with 21 additions and 14 deletions

View File

@@ -2,6 +2,7 @@
namespace Kelunik\AcmeClient\Commands;
use Kelunik\AcmeClient\Stores\CertificateStore;
use Kelunik\Certificate\Certificate;
use League\CLImate\Argument\Manager;
use Psr\Log\LoggerInterface;
@@ -22,13 +23,10 @@ class Check implements Command {
* @return \Generator
*/
private function doExecute(Manager $args) {
$path = $args->get("cert");
$path = dirname(dirname(__DIR__)) . "/data/certs";
$certificateStore = new CertificateStore($path);
if (!realpath($path)) {
throw new \RuntimeException("Certificate doesn't exist: '{$path}'");
}
$pem = (yield \Amp\File\get($path));
$pem = (yield $certificateStore->get($args->get("name")));
$cert = new Certificate($pem);
$this->logger->info("Certificate is valid until " . date("d.m.Y", $cert->getValidTo()));
@@ -44,10 +42,9 @@ class Check implements Command {
public static function getDefinition() {
return [
"cert" => [
"longPrefix" => "cert",
"prefix" => "c",
"description" => "Certificate to check.",
"name" => [
"longPrefix" => "name",
"description" => "Common name of the certificate to check.",
"required" => true,
],
"ttl" => [

View File

@@ -120,10 +120,6 @@ class Issue implements Command {
$certificateStore = new CertificateStore($path);
yield $certificateStore->put($certificates);
yield \Amp\File\put($path . "/" . reset($domains) . "/config.json", json_encode([
"domains" => $domains, "path" => $args->get("path"), "user" => $user, "bits" => $bits,
], JSON_PRETTY_PRINT) . "\n");
$this->logger->info("Successfully issued certificate, see {$path}/" . reset($domains));
}