PKCS12 anahtar deposunda saklanan sertifikalar anahtar aracı ile nasıl listelenir?


Yanıtlar:


146

Anahtar deposu PKCS12 türü ( .pfx) ise, bunu belirtmeniz gerekir -storetype PKCS12(okunabilirlik için satır sonları eklenir):

keytool -list -v -keystore <path to keystore.pfx> \
    -storepass <password> \
    -storetype PKCS12

7
Bir grafik arabirim yardımcı programını tercih ederseniz, Java komut satırı yardımcı programları keytool, jarsigner ve jadtool için açık kaynaklı bir GUI değişimi olan Keystore Explorer'ı buldum. keystore-explorer.sourceforge.net
David García González

@ David bahşiş için teşekkürler. Diğer pek çok projenin aksine, projenin hala aktif olduğunu görmek güzel!
John Rix

bu ücretsiz araç hakkında mükemmel bir ipucu - Genelde komut satırlarını tercih ederim ama bu çok güzel
Rhubarb

1
Bu ( .p12) ile çalışmalı mı? I getjava.io.IOException: Invalid keystore format
IgniteCoders

Bu, P12 sertifika deposunda çalışmaz (Mart 2019, en yeni KeyTool sürümü)
Harald

29

opensslAynı şeyi başarmak için de kullanabilirsiniz :

$ openssl pkcs12 -nokeys -info \
    -in </path/to/file.pfx> \
    -passin pass:<pfx's password>

MAC Iteration 2048
MAC verified OK
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Bag Attributes
    localKeyID: XX XX XX XX XX XX XX XX XX XX XX XX XX 48 54 A0 47 88 1D 90
    friendlyName: jedis-server
subject=/C=US/ST=NC/L=Raleigh/O=XXX Security/OU=XXX/CN=something1
issuer=/C=US/ST=NC/L=Raleigh/O=XXX Security/OU=XXXX/CN=something1
-----BEGIN CERTIFICATE-----
...
...
...
-----END CERTIFICATE-----
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048

3
Sadece .p12 dosyaları için de çalıştığını söylemek için. Çok yardımcı oldu, teşekkürler!
Rich Ross

@PhilipRego yapabileceğinizden emin olun, sadece tek tırnak içine alın.
slm

Arkadaşım olarak da bilinen takma adı görmek istedim. "Openssl pkcs12 -nodes -in </path/to/file.pfx> -passin pass: <pfx's password>"
Domo

6

Girişleri (sertifika ayrıntıları) tuş takımıyla listeleyebilirsiniz ve hatta mağaza türünü belirtmenize gerek kalmaz.

keytool -list -v -keystore cert.p12 -storepass <password>

 Keystore type: PKCS12
 Keystore provider: SunJSSE

 Your keystore contains 1 entry
 Alias name: 1
 Creation date: Jul 11, 2020
 Entry type: PrivateKeyEntry
 Certificate chain length: 2

Pls, başkalarının bundan faydalanabilmesi için kodunuzu ve nasıl yardımcı olacağını açıklamayı düşünün.
Amit Verma

Cevap güncellendi.
harry


2

Soruda ve tüm yanıtlarda eksik olan şey, PKCS # 12 (.pfx) anahtar deposundaki genel verileri okumak için parolaya ihtiyacınız olabileceğidir. Bir parolaya ihtiyacınız olup olmadığı, PKCS # 12 dosyasının nasıl oluşturulduğuna bağlıdır. PKCS # 7 verileri (örn. OID öneki 1.2.840.113549.1.7) 'şifreli' olarak listelenmişse, dosyanın ASN1 yapısını kontrol edebilirsiniz (bunu bir ASN1 ayrıştırıcı, openssl veya certutil aracılığıyla çalıştırarak bunu da yapabilir) bir şifre spesifikasyonuyla veya asn1 ağacındaki verilerin konumu şifrelenmiş bir düğümün altındaysa, parolayı bilmeden onu okuyamazsınız. Bu, 'openssl pkcs12' komutunuzun hatalarla başarısız olacağı anlamına gelir (çıktı sürüme bağlıdır). Parola bilgisi olmadan bir PKCS # 12 sertifikasıyla neden ilgilenebileceğinizi merak edenler için. Pek çok anahtar deponuzun ve birçok phassphrase'iniz olduğunu ve onları düzenli tutmakta gerçekten kötü olduğunuzu ve tüm kombinasyonları test etmek istemediğinizi, dosyanın içindeki sertifika, hangi şifre olabileceğini bulmanıza yardımcı olabilir. Veya bir anahtar deposunu taşımak / yenilemek için yazılım geliştiriyorsunuz ve kullanıcı etkileşimi olmadan içerilen sertifikaya göre hangi prosedürü başlatacağınıza önceden karar vermeniz gerekiyor. Bu nedenle son örnekler, PKCS # 12 yapısına bağlı olarak parola olmadan çalışır. Veya bir anahtar deposunu taşımak / yenilemek için yazılım geliştiriyorsunuz ve kullanıcı etkileşimi olmadan içerilen sertifikaya göre hangi prosedürü başlatacağınıza önceden karar vermeniz gerekiyor. Bu nedenle son örnekler, PKCS # 12 yapısına bağlı olarak parola olmadan çalışır. Veya bir anahtar deposunu taşımak / yenilemek için yazılım geliştiriyorsunuz ve kullanıcı etkileşimi olmadan içerilen sertifikaya göre hangi prosedürü başlatacağınıza önceden karar vermeniz gerekiyor. Dolayısıyla, son örnekler, PKCS # 12 yapısına bağlı olarak parola olmadan çalışır.

Bunu eklemek istedim çünkü kendime bir cevap bulamadım ve çözmek için çok zaman harcadım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.