2009-11-12 23 views
17

OpenSSL sertifikaları için herhangi bir standart adlandırma kuralı yok gibi görünüyor, bu nedenle, herhangi bir OpenSSL sertifikası hakkında önemli bilgiler almak için basit bir komut olup olmadığını bilmek istiyorum. yazın. En azından sertifika türünü (x509, RSA, DSA) ve genel veya özel anahtar olup olmadığını bilmek isterim. Bir PKCS12 dosyasından çıkardığım bir sertifikanın içeriğine baktığımda, bunların hiçbiri açıkça gösterilmiyor. ÖncelikleDosyadan sertifika türü nasıl belirlenir

cevap

29

, birkaç terminoloji sorunları var:

  • X509 standart sertifikalarını tanımlar ve RSA ve DSA ve bu belgelerde kullanılabilir açık anahtar algoritmaları ikisidir;
  • Sertifikalar, genel anahtarları tutmak için kullanılır ve hiçbir zaman özel anahtarlar kullanılmaz.
  • PKCS # 12, X509 istemci sertifikalarını ve ilgili özel anahtarları ve X509 istemci sertifikasını imzalayan CA'ların (isteğe bağlı olarak) X509 sertifikalarını tutabilecek bir kapsayıcıdır. Bir PKCS # 12 dosya (genellikle .p12 uzantısı) inceliyorsanız

Yani, o zaman zaten biliyoruz:

  • Bu bir kamu anahtarı içeren en az bir X509 istemci sertifikası içerir ; ve
  • İlgili özel anahtarları içerir.

Tek bilmediğiniz, bu sertifika & özel anahtarının RSA veya DSA olup olmadığıdır.

openssl pkcs12 -in mycert.p12 -clcerts -nokeys -out mycert.crt 
openssl x509 -in mycert.crt -text 

openssl x509 komutunun metin çıktısı bunun bir RSA veya eğer görelim alanları içerecek bir Subject Public Key bölüm içermelidir: Bunları incelemek ardından sertifika (lar) kopararak bu kontrol edebilir ve DSA anahtarı (anahtar boyutu ile birlikte). Sertifikalar ayrıca belirli kullanımlarla sınırlandırılabilir.

0

Örneğin, Sertifika Yetkilisi olarak kullanılamayacak şekilde kısıtlanmış olabilir. Ayrıca this StackOverflow post'da daha fazlasını okuyun.

İlgili konular