OpenSSL'de sertifika yüklenemiyor


3

Google Play tarafından oluşturulan OpenSSL kullanarak bir sertifika okumaya çalışıyorum. Sertifika aşağıda açıklandığı gibidir:

Google Play tarafından oluşturulan Base64 kodlu RSA ortak anahtarı, ikili kodlanmış, X.509 subjectPublicKeyInfo DER SEQUENCE biçimindedir.

Verilen Base64 kodlu dizginin, şunu kullanarak komut satırından OpenSSL kullanarak ikili dosyaya kodunu çözdüm:

openssl enc -base64 -d -A <<< THE_KEY_CONTENT > key.der

İkili dosya makul görünüyor. 294 bayt ve ilk bayt 0x30 ki bununla eşleştiğine inanıyorum SEQUENCE.

Sonuçta ortaya çıkan ikili dosya ile aşağıdaki komutu çalıştırmayı denerim:

openssl x509 -inform der -in key.der -out key.pem

Ancak aşağıdaki hataları OpenSSL'den alıyorum:

unable to load certificate 140736245019656:error:0D0680A8:asn1
encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1199:140736245019656:error:0D06C03A:asn1
encoding routines:ASN1_D2I_EX_PRIMITIVE:nested asn1 error:tasn_dec.c:767:140736245019656:error:0D08303A:asn1
encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested
asn1 error:tasn_dec.c:699:Field=serialNumber, Type=X509_CINF 140736245019656:error:0D08303A:asn1
encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:699:Field=cert_info, Type=X509

Bu sertifikayı yüklemek için kaçırdığım bir şey var mı? Google’ın bana kötü bir sertifika vermeyeceğini farz ediyorum!

Yanıtlar:


3

Sorun şu ki, açıklamayı yorumladım, içinde X509 sertifikası bulunan bir sertifika varmış. .der dosya, aslında ne zaman sadece RSA ortak anahtarı DER kodlu.

Sonuç olarak, verilecek doğru komutun şu olduğu ortaya çıktı:

openssl rsa -inform der -in key.der -pubin
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.