2013-10-04 23 views
6

numaralı anahtarlığın üzerindedir. Yapılarıma kod imzalamayı entegre ediyorum ve kaynak kod ağacında tutulan ve kodu imzalamak için kullanılan özel bir anahtarlık oluşturdum (~/Library/Keychains'a kopyalandı) Kullanılmadan önce, iyi bilinen bir konumdadır).Codesign, "kimlik yok" diyor ancak kimlik

Ancak zaman bir hata alıyorum kaydolmaya çalışan: Ancak

$ /usr/bin/codesign --sign='Mac Developer: John Doe (AA1AAA1AAA)' \ 
    --keychain=~/Library/Keychains/xxx.keychain \ 
    dist/64/gmake/release/bin/libmylib.dylib 

Mac Developer: John Doe (AA1AAA1AAA): no identity found 

: codesign kimliğini bulamayan neden

$ security find-identity -p codesigning ~/Library/Keychains/xxx.keychain 

Policy: Code Signing 
    Matching identities 
    1) 49F2FBE79899DF18A9638AC6B1302E2EB6E079AD "Mac Developer: John Doe (AA1AAA1AAA)" 
    1 identities found 

    Valid identities only 
    1) 49F2FBE79899DF18A9638AC6B1302E2EB6E079AD "Mac Developer: John Doe (AA1AAA1AAA)" 

Yani anlamıyorum.

Herkes bir çözüm önerebilir mi?

Aynı sonuca göre, kimliğin SHA-1 ile de çalıştığımı unutmayın.

cevap

8

Bazı codesign hata iletileri açıktan daha azdır. Buradaki problem, codesign'ın anahtarlığı bulamadığı ve buna --keychain=~/path kullanımından kaynaklanıyor. Bu tek bir argüman olarak yorumlanır ve tilde genişlemesi yapılmaz. Komutunuzu ayrı bağımsız değişkenler kullanacak şekilde değiştirirseniz, beklendiği gibi çalışmalıdır:

+0

İlginç; Bu şekilde argümanları belirtirsem kabuğun genişlemeyeceğini düşünmedim. Yarın test edip sana geri döneceğim, ancak galip olduğunu düşünüyorum. – trojanfoe

+0

Evet, cevap budur, ancak şu anda "güvenlik kilidi anahtarlığı" ile açılmamıza rağmen "Kullanıcı etkileşimi izin verilmiyor" alıyorum. Şimdi bu dizinin 'login.keychain' ile çalışacağını biliyorum (sık sık yaparım) ancak standart olmayan bir anahtarlık kullanırken işe yaramaz. Bir vampir yardımcısı olmaktan nefret ediyorum * ama herhangi bir öneriniz var mı? – trojanfoe

+0

Birkaç olasılık düşünebilirim. Birincisi, anahtarlığın her zaman özel anahtara codesign erişimine izin verecek şekilde yapılandırılmamasıdır, böylece sistem kullanıcıya erişimi kabul etmesini istemektedir. Özel anahtarı çift tıklatarak ve erişim denetimi altında kodek ekleyerek (veya tüm uygulamalara izin ver), Anahtar Zinciri Erişimi aracılığıyla bunu ayarlayabilirsiniz. Diğeri ise, kilit açma işlemi, yapım işleminin başlarında gerçekleşirse, varsayılan 5 dakikalık anahtarlığın kilit açma zaman aşımının çok kısa olmasıdır. Zaman aşımını genişletmek veya kaldırmak için bunu anahtarlık ayarları aracılığıyla kontrol edebilirsiniz. –

İlgili konular