*still* trying to get clean perl for pem2openpgp
[monkeysphere.git] / src / keytrans / pem2openpgp
index 3d9f6f83eb34cc43fdac303891c45194d7a15bf5..1aae4fec805467a814c24a33c8320a863720858a 100755 (executable)
@@ -352,7 +352,25 @@ my $hash_algo = pack('C', $digests->{sha1});
 # could an environment variable (if set) override the current time, to
 # be able to create a standard key?  If we read the key from a file
 # instead of stdin, should we use the creation time on the file?
-my $timestamp = time();
+my $timestamp = 0;
+if (defined $ENV{PEM2OPENPGP_TIMESTAMP}) {
+  $timestamp = ($ENV{PEM2OPENPGP_TIMESTAMP} + 0);
+} else {
+  $timestamp = time();
+}
+
+my $flags = 0;
+if (! defined $ENV{PEM2OPENPGP_USAGE_FLAGS}) {
+  $flags = $usage_flags->{authenticate};
+} else {
+  my @ff = split(",", $ENV{PEM2OPENPGP_USAGE_FLAGS});
+  foreach my $f (@ff) {
+    if (! defined $usage_flags->{$f}) {
+      die "No such flag $f";
+    }
+    $flags |= $usage_flags->{$f};
+  }
+}
 
 my $creation_time_packet = pack('CCN', 5, $subpacket_types->{sig_creation_time}, $timestamp);