Bunu yapmak için yerleşik bir yöntem yoktur, ancak hiçbir şeyi değiştirmeyen ve yalnızca parolanızı kontrol etmenize izin veren bir test oluşturmak yeterince basittir.
Belirtmediniz, bu yüzden GnuPG sürümünü v2'den daha az kullandığınızı ve komut satırı yorumlayıcınız için Bash ile Linux'ta olduğunuzu varsayacağım.
Burada komutu vereceğim ve aşağıda her bir parçanın ne yaptığını açıklayacağım - (not: aşağıdaki GnuPG serisi sürüm 1 için, aşağıya GnuPG serisi v2 için bakın)
echo "1234" | gpg --no-use-agent -o /dev/null --local-user <KEYID> -as - && echo "The correct passphrase was entered for this key"
Bunun yaptığı ilk önce, GnuPG'ye giriş yapmak için bir metin göndermektir echo "1234" |
- çünkü gerçekten hiçbir şeyi imzalamak istemiyoruz, bu sadece bir test, bu yüzden bazı gereksiz metinleri imzalayacağız.
Daha sonra, gpg'ye anahtar aracıyı kullanmamasını söyleyeceğiz --no-use-agent
; bu daha sonra önemlidir, çünkü anahtar temsilcinize bağlı olarak, başarı durumunda "0" döndürmeyebilir ve tüm yapmak istediğimiz budur - parolanızın başarısını doğrulayın.
Daha sonra, gpg'ye imzalanmış verileri doğrudan /dev/null
dosyaya koymasını söyleriz , yani onu atarız ve sonucu terminale yazmayız - NOT: Linux / Unix'in bazı varyantlarını kullanmıyorsanız, bu dosya mevcut olmayabilir. Windows'ta, sadece -o /dev/null
parçayı atlayarak imzalanmış verileri ekrana yazmasına izin vermeniz gerekebilir .
Daha sonra testimizi yapmak istediğimiz anahtarı kullanarak belirtiyoruz --local-user 012345
. KeyID'yi maksimum özgüllük için kullanabilir veya ihtiyaçlarınıza en uygun olanı bir kullanıcı adı kullanabilirsiniz.
Ardından -as
, ascii çıktı modunu etkinleştiren ve imzalama için bağlam modunu ayarlayan belirtiyoruz. -
Sonradan sadece veri standart içinde, biz verdik komutunun ilk bölümüdür hangi imzalanacak almak için GnuPG'yi söyler echo "1234" |
.
Ve son olarak, && echo "A message that indicates success"
- "&&", önceki komut başarılıysa, bu mesajı yazdır anlamına gelir. Bu sadece açıklık sağlamak için eklenmiştir, çünkü aksi takdirde yukarıdaki komutun başarısı hiçbir çıktı ile gösterilmeyecektir.
Umarım bu, neler olup bittiğini anlamanız ve yapmak istediğiniz testi yaparken bunu nasıl kullanabileceğinizi anlamanız için yeterince açıktır. Herhangi bir kısım net değilse veya anlamıyorsanız, açıklığa kavuşturmaktan memnuniyet duyarım. İyi şanslar!
[DÜZENLE] - GnuPG v2 kullanıyorsanız, yukarıdaki komutun aşağıdaki gibi biraz değiştirilmesi gerekecektir:
echo "1234" | gpg2 --batch --passphrase-fd 1 -o /dev/null --local-user <KEYID> -as - && echo "The correct passphrase was entered for this key"
Bunun nedeni, GnuPG v2'nin parolanın bir aracı aracılığıyla alınmasını beklemesidir, bu nedenle aracının kullanımını devre dışı bırakıp --no-use-agent
istenen etkiyi elde edemeyiz ; bunun yerine GnuPG v2'ye bir "toplu işlem" yürütmek istediğimizi ve seçeneği kullanarak STDIN'den (standart giriş) parolayı almak istediğimizi söylememiz gerekir --passphrase-fd 1
.
gpg --local-user <KEYID> -as
. Bu sadece aracının parolayı istemesine ve size doğru olup olmadığını söylemesine izin verir (Sonra hiçbir şey yapmaz).