2012-05-10 14 views
12

मुझे कुछ स्वचालित बिल्ड टूल्स के लिए मेरी कीचेन खोज सूची में .keychain फ़ाइल जोड़ने की आवश्यकता है। वर्तमान में मैं security list-keychains आदेश का उपयोग कर रहा हूँ:खोज सूची में एक कीचेन जोड़ें?

list-keychains [-h] [-d user|system|common|dynamic] [-s [keychain...]] 
     Display or manipulate the keychain search list. 

यह आदेश आइए आप पूरे कीचेन खोज सूची सेट है, लेकिन यह एक तरह से बस एक कीचेन जोड़ने के लिए प्रदान नहीं करता है। तो एक कीचेन जोड़ना एक 2 कदम प्रक्रिया बन जाता है।

  1. भागो सूची-कीचेन और आउटपुट
  2. पार्स तब की तरह list-keychains -s ${existing_chains} ${new_keychain}

कुछ हालांकि यह काम करता है, यह ज्यादा जटिल लगता है और एक रेस स्थिति का परिचय है।

यह भी लगता है कि open my.keychain इसे खोज सूची में जोड़ देगा, लेकिन मैं open जैसे स्क्रिप्टिंग या हेडलेस वातावरण में कमांड का उपयोग करने से बचता हूं।

क्या खोज सूची में एक चाबी जोड़ने का कोई आसान या बेहतर तरीका है?

उत्तर

2

आप किस स्वचालित उपकरण का उपयोग कर रहे हैं? मुझे टॉमकैट के तहत जेनकींस का उपयोग करके आईफोन के निर्माण के साथ एक ही समस्या थी। मैंने खोल स्क्रिप्ट में कीचेन जोड़ने की कोशिश की लेकिन यह सबसे अच्छा साबित हुआ।

अंत में, मैंने लॉन्चडेमन्स के बजाय लॉन्चएजेंट्स के माध्यम से हमारी बिल्ड प्रक्रिया को चालू करने के लिए समस्या को हल करके समस्या के आसपास काम किया। इस तरह उपयोगकर्ता के संदर्भ में निर्माण उपकरण चलते हैं और चीजें बहुत अधिक विश्वसनीय हो गई हैं।

क्या यह आपके लिए एक संभावना है? यदि ऐसा है, तो मैं अधिक जानकारी प्रदान कर सकता हूं।

+0

यह मूल रूप से जेनकींस में एक शेल स्क्रिप्ट के लिए भी है, लेकिन यह अभी भी एक सामान्य प्रश्न है। – amrox

+0

जेनकिंस किस कंटेनर में चल रहा है? बिलाव? और इसके लिए लॉन्च स्क्रिप्ट क्या है? –

0

वहाँ एक बेहतर तरीका है कि मैं के बारे में पता कर रहा हूँ नहीं है - ऐसा लगता है लेकिन है कि शायद create-keychain क्या करेंगे आप क्या चाहते हैं:

security create-keychain -h

रिटर्न:

Usage: create-keychain [-P] [-p password] [keychains...] 
    -p Use "password" as the password for the keychains being created 
    -P Prompt the user for a password using the SecurityAgent 
Use of the -p option is insecure 
     Create keychains and add them to the search list. 
4

यह 2017 है और मैकोज़ पर 10.12.4 security create-keychain अभी भी खोज सूची में एक नया कीचेन नहीं जोड़ता है। अस्थायी कीचेन को चरणबद्ध करने और नष्ट करने के लिए मेरी स्क्रिप्ट यहां दी गई है:

#!/bin/bash -e 

uuid="$(uuidgen)" 

echo "New Keychain name: $uuid" 

keychains=$(security list-keychains -d user) 

keychainNames=(); 

for keychain in $keychains 
do 
    basename=$(basename "$keychain") 
    keychainName=${basename::${#basename}-4} 
    keychainNames+=("$keychainName") 
done 

echo "User keychains on this machine: ${keychainNames[@]}"; 




read -p "Enter to create keychain" 
security -v create-keychain -p test123 $uuid 

read -p "Enter to add keychain to searchlist" 
security -v list-keychains -s "${keychainNames[@]}" $uuid 

read -p "Enter to unlock keychain" 
security -v unlock-keychain -p test123 $uuid 

read -p "Enter to import certificate" 
security -v import build-assets/certficate.p12 -k $uuid -P certificate_password 

read -p "Enter to delete keychain" 
security -v delete-keychain $uuid 
संबंधित मुद्दे