diff options
author | Jia Zhang <lans.zhang2008@gmail.com> | 2017-08-20 15:06:22 +0800 |
---|---|---|
committer | Jia Zhang <lans.zhang2008@gmail.com> | 2017-08-20 15:06:22 +0800 |
commit | cbdefad44c474bd8a6c987442ccc0d6d11234c68 (patch) | |
tree | 3c5df8d8f1f8097f559b9cf18621631258c281b1 | |
parent | 038aa54bc28fa4c4c19a711596260eb8bb8576be (diff) | |
download | meta-secure-core-cbdefad44c474bd8a6c987442ccc0d6d11234c68.tar.gz |
create-user-key-store.sh: support gpg 2.x used to generate rpm signing key
Signed-off-by: Jia Zhang <lans.zhang2008@gmail.com>
-rwxr-xr-x | meta-signing-key/scripts/create-user-key-store.sh | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/meta-signing-key/scripts/create-user-key-store.sh b/meta-signing-key/scripts/create-user-key-store.sh index 85d6965..12da2e7 100755 --- a/meta-signing-key/scripts/create-user-key-store.sh +++ b/meta-signing-key/scripts/create-user-key-store.sh | |||
@@ -188,21 +188,28 @@ create_ima_user_key() { | |||
188 | 188 | ||
189 | create_rpm_user_key() { | 189 | create_rpm_user_key() { |
190 | local gpg_ver=`gpg --version | head -1 | awk '{ print $3 }' | awk -F. '{ print $1 }'` | 190 | local gpg_ver=`gpg --version | head -1 | awk '{ print $3 }' | awk -F. '{ print $1 }'` |
191 | |||
192 | if [ x"$gpg_ver" != x"1" ]; then | ||
193 | echo "gpg version 2 is not supported" | ||
194 | exit 1 | ||
195 | fi | ||
196 | |||
197 | local key_dir="$RPM_KEYS_DIR" | 191 | local key_dir="$RPM_KEYS_DIR" |
198 | 192 | ||
199 | [ ! -d "$key_dir" ] && mkdir -p "$key_dir" | 193 | [ ! -d "$key_dir" ] && mkdir -m 0700 -p "$key_dir" |
200 | 194 | ||
201 | local gpg_key_name="SecureCore" | 195 | local gpg_key_name="SecureCore" |
202 | local priv_key="$key_dir/RPM-GPG-PRIVKEY-$gpg_key_name" | 196 | local priv_key="$key_dir/RPM-GPG-PRIVKEY-$gpg_key_name" |
203 | local pub_key="$key_dir/RPM-GPG-KEY-$gpg_key_name" | 197 | local pub_key="$key_dir/RPM-GPG-KEY-$gpg_key_name" |
204 | 198 | ||
205 | cat >"$key_dir/gen_rpm_keyring" <<EOF | 199 | if [ "$gpg_ver" == "2" ]; then |
200 | gpg --homedir "$key_dir" --quick-generate-key --batch \ | ||
201 | "$gpg_key_name" default default never | ||
202 | |||
203 | gpg --homedir "$key_dir" --export --armor "$gpg_key_name" > "$pub_key" | ||
204 | |||
205 | gpg --homedir "$key_dir" --export-secret-keys --armor "$gpg_key_name" > "$priv_key" | ||
206 | |||
207 | cd "$key_dir" | ||
208 | rm -rf openpgp-revocs.d private-keys-v1.d pubring.kbx* \ | ||
209 | trustdb.gpg | ||
210 | cd - | ||
211 | else | ||
212 | cat >"$key_dir/gen_rpm_keyring" <<EOF | ||
206 | Key-Type: RSA | 213 | Key-Type: RSA |
207 | Key-Length: 2048 | 214 | Key-Length: 2048 |
208 | Name-Real: $gpg_key_name | 215 | Name-Real: $gpg_key_name |
@@ -215,22 +222,23 @@ Expire-Date: 0 | |||
215 | %echo RPM keyring $gpg_key_name created | 222 | %echo RPM keyring $gpg_key_name created |
216 | EOF | 223 | EOF |
217 | 224 | ||
218 | gpg --batch --gen-key "$key_dir/gen_rpm_keyring" | 225 | gpg --batch --gen-key "$key_dir/gen_rpm_keyring" |
219 | 226 | ||
220 | gpg="gpg --no-default-keyring --secret-keyring \ | 227 | gpg="gpg --no-default-keyring --secret-keyring \ |
221 | $priv_key.sec --keyring $pub_key.pub" | 228 | $priv_key.sec --keyring $pub_key.pub" |
222 | 229 | ||
223 | $gpg --list-secret-keys | 230 | $gpg --list-secret-keys |
224 | 231 | ||
225 | print_error "Please type passwd to modify the passphrase, and type quit to exit" | 232 | print_error "Please type passwd to modify the passphrase, and type quit to exit" |
226 | 233 | ||
227 | $gpg --edit-key "$gpg_key_name" | 234 | $gpg --edit-key "$gpg_key_name" |
228 | 235 | ||
229 | $gpg --export --armor "$gpg_key_name" > "$pub_key" | 236 | $gpg --export --armor "$gpg_key_name" > "$pub_key" |
230 | $gpg --export-secret-keys --armor "$gpg_key_name" > "$priv_key" | 237 | $gpg --export-secret-keys --armor "$gpg_key_name" > "$priv_key" |
231 | 238 | ||
232 | rm -f "$key_dir/gen_rpm_keyring" | 239 | rm -f "$key_dir/gen_rpm_keyring" |
233 | rm -f "$priv_key.sec" "$pub_key.pub" | 240 | rm -f "$priv_key.sec" "$pub_key.pub" |
241 | fi | ||
234 | } | 242 | } |
235 | 243 | ||
236 | create_user_keys() { | 244 | create_user_keys() { |