diff options
author | Mark Wielaard <mjw@redhat.com> | 2009-01-23 14:28:47 +0100 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2009-01-23 14:28:47 +0100 |
commit | c3bad3042df505a3470f1e20b09822a9df1d4761 (patch) | |
tree | 6842e8eaa705e406379d34cf07a85431b6d71344 /stap-add-server-cert | |
parent | 750b1f2f5c84acaf0776de5239dc81e2e95c1dec (diff) | |
parent | f120873cb40cfc16cc94f06fd722abc927b96227 (diff) | |
download | systemtap-steved-c3bad3042df505a3470f1e20b09822a9df1d4761.tar.gz systemtap-steved-c3bad3042df505a3470f1e20b09822a9df1d4761.tar.xz systemtap-steved-c3bad3042df505a3470f1e20b09822a9df1d4761.zip |
Merge branch 'master' into pr6866.
Diffstat (limited to 'stap-add-server-cert')
-rwxr-xr-x | stap-add-server-cert | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/stap-add-server-cert b/stap-add-server-cert new file mode 100755 index 00000000..976f323f --- /dev/null +++ b/stap-add-server-cert @@ -0,0 +1,46 @@ +#!/bin/bash + +# Add an existing server certificate to the +# database of trusted servers for the client. +# +# Copyright (C) 2008, 2009 Red Hat Inc. +# +# This file is part of systemtap, and is free software. You can +# redistribute it and/or modify it under the terms of the GNU General +# Public License (GPL); either version 2, or (at your option) any +# later version. + +# Obtain the filename of the certificate +if test "X$1" = "X"; then + echo "Certificate file must be specified" >&2 + exit 1 +fi +if ! test -f $1; then + echo "Cannot find certificate file $1" >&2 + exit 1 +fi + +# Obtain the certificate database directory name. +if test "X$2" = "X"; then + echo "Certificate database directory must be specified" >&2 + exit 1 +fi +if ! test -d $2/client; then + if ! mkdir -p $2/client; then + echo "Unable to find or create the client certificate database directory: $2/client" >&2 + exit 1 + fi +fi + +# Add the certificate +if ! certutil -A -n stap-server -d $2/client -i $1 -t "P,P,P" > /dev/null; then + echo "Unable to add $1 to the client certificate database $2" >&2 + exit 1 +fi + +# Ensure that the database is readable by others +if ! chmod +r $2/client/*.db; then + echo "Warning: unable to make the client certificate database $2 readable by others" >&2 +fi + +exit 0 |