X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=utilities%2Fovs-pki.in;h=6081a5e22da64e21db21d116cdff2a69d306f3bc;hb=00b975b6e8ab06ad3f03cdab019e92e0a79eca9b;hp=a506375e18d480faebbe6e1429b968439b10375d;hpb=84507691a510efa76a0f063ee04a06cf19081ff1;p=cascardo%2Fovs.git diff --git a/utilities/ovs-pki.in b/utilities/ovs-pki.in index a506375e1..6081a5e22 100755 --- a/utilities/ovs-pki.in +++ b/utilities/ovs-pki.in @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc. +# Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -27,7 +27,7 @@ bits=2048 # OS-specific compatibility routines case $(uname -s) in -FreeBSD) +FreeBSD|NetBSD) file_mod_epoch() { stat -r "$1" | awk '{print $10}' @@ -272,7 +272,7 @@ certificate = $dir/cacert.pem # The CA cert serial = $dir/serial # serial no file private_key = $dir/private/cakey.pem# CA private key RANDFILE = $dir/private/.rand # random number file -default_days = 36525 # how long to certify for +default_days = 3650 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = md5 # md to use policy = policy # default policy @@ -303,7 +303,7 @@ EOF -newkey $newkey -keyout private/cakey.pem -out careq.pem \ 1>&3 2>&3 openssl ca -config ca.cnf -create_serial -out cacert.pem \ - -days 36525 -batch -keyfile private/cakey.pem -selfsign \ + -days 3650 -batch -keyfile private/cakey.pem -selfsign \ -infiles careq.pem 1>&3 2>&3 chmod 0700 private/cakey.pem @@ -461,9 +461,18 @@ sign_request() { must_not_exist "$2" pkidir_must_exist + case "$1" in + "/"*) + request_file="$1" + ;; + *) + request_file="`pwd`/$1" + ;; + esac + (cd "$pkidir/${type}ca" && - openssl ca -config ca.cnf -batch -in /dev/stdin) \ - < "$1" > "$2.tmp$$" 2>&3 + openssl ca -config ca.cnf -batch -in "$request_file") \ + > "$2.tmp$$" 2>&3 mv "$2.tmp$$" "$2" } @@ -485,7 +494,7 @@ elif test "$command" = sign; then check_type "$arg2" verify_fingerprint "$arg1-req.pem" - sign_request "$arg1-req.pem" "$arg2-cert.pem" + sign_request "$arg1-req.pem" "$arg1-cert.pem" elif test "$command" = req+sign; then one_or_two_args check_type "$arg2" @@ -514,7 +523,7 @@ elif test "$command" = self-sign; then # Create both the private key and certificate with restricted permissions. (umask 077 && \ openssl x509 -in "$arg1-req.pem" -out "$arg1-cert.pem.tmp" \ - -signkey "$arg1-privkey.pem" -req -days 36525 -text) 2>&3 || exit $? + -signkey "$arg1-privkey.pem" -req -days 3650 -text) 2>&3 || exit $? # Reset the permissions on the certificate to the user's default. cat "$arg1-cert.pem.tmp" > "$arg1-cert.pem"