-# Deal with certificates
-foreach (@{$config->{certificates}}) {
-       # Init variables
-       my ($mtime, $dt, $suffix) = undef;
-
-       # Skip certificate without 60 days
-       if (-f $_->{cert} && ($mtime = stat($_->{cert})->mtime) >= (time() - 60*24*3600)) {
-               next;
-       }
-
-       # Extract cert directory and filename
-       my (undef, $certDir) = File::Spec->splitpath($_->{cert});
-
-       # Check that certificate is writable
-       unless (-w $certDir || -w $_->{cert}) {
-               carp('directory '.$certDir.' or file '.$_->{cert}.' must be writable: '.$!);
-               next;
-       }
-
-       # Check that key directory exists
-       if (! -d KEY_DIR) {
-               # Create all paths
-               make_path(KEY_DIR, {error => \my $err});
-               if (@$err) {
-                       map {
-                               my ($file, $msg) = %$_;
-                               carp ($file eq '' ? '' : $file.': ').$msg if ($debug);
-                       } @$err;
-                       confess 'make_path failed';
+# Deal with specified domains
+if (scalar(@ARGV) > 0) {
+       # Check that domains are present in config
+       foreach my $domain (@ARGV) {
+               my $found = undef;
+               foreach my $certificate (@{$config->{certificates}}) {
+                       if ($certificate->{domain} eq $domain) {
+                               push(@domains, $certificate);
+                               $found = 1;
+                       }