2013-06-17 14 views
26

Genel anahtarımı bir .pem dosyasına depolamak için aşağıdaki openssl komutunu kullanıyorum.Ortak anahtar, .pem biçimindeki bir sertifikadan nasıl kaydedilir?

openssl> x509 -in E:/mycert.pem -pubkey -out E:/mypubkey.pem 

Ama bu komutu kullanmaya çalıştığınızda, bu mypubkey.pem dosyasında bütün sertifika bilgisi depoluyor.

Ben

openssl> x509 -pubkey -noout -in cert.pem > pubkey.pem 

kullanarak ortak anahtar kaydedebilirsiniz gördük Ama bir hata atıyor. ">" Operatörünü kullanamıyorum.

+0

Yığın Taşması, programlama ve geliştirme soruları için bir sitedir. Bu soru konu dışı görünmektedir, çünkü programlama veya geliştirme ile ilgili değildir. Yardım Merkezi’ndeki [http://stackoverflow.com/help/on-topic] adresine buradan [Hangi konuları sorabilirim?] Bölümüne bakın. Belki de [Süper Kullanıcı] (http://superuser.com/) veya [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) sorulacak daha iyi bir yer olabilir. Ayrıca bkz. [Dev Ops hakkında soruları nereye gönderebilirim?] (Http://meta.stackexchange.com/q/134306) – jww

cevap

74

Bunu yapmanın birkaç yolu vardır.

Birincisi, yerine openssl komut istemi moduna gitmekten, sadece, Windows isteminde itibaren bir komut satırında her şeyi girin: nedense, sen openssl komut istemi kullanmanız gerekiyorsa

E:\> openssl x509 -pubkey -noout -in cert.pem > pubkey.pem 

, sadece girmek ">" e kadar her şey. Daha sonra OpenSSL, genel anahtar bilgisini ekrana yazdırır. Daha sonra bunu kopyalayıp pubkey.pem adlı bir dosyaya yapıştırabilirsiniz.

openssl> x509 -pubkey -noout -in cert.pem 

Çıktı bu gibi bir şey olacaktır: OpenSSL interaktif isteminde > kullanamaz

-----BEGIN PUBLIC KEY----- 
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO 
3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX 
7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS 
j+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd 
OrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ 
5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl 
FQIDAQAB 
-----END PUBLIC KEY----- 
+0

Yanıt için Ty. İkinci yaklaşım kabul edilebilir. Ama bunu komut isteminden kendim kaydetmek istiyorum. Sistemimde openssl yüklü değil. Openssl komut istemi çalıştırmak için doğrudan binary kullanıyorum. Kullandığım sürüm openssl-0.9.8k_WIN32. Windows'da 1. komutu çalıştırmayı denediğimde hata mesajı veriyor. – Ankit

+1

1. komutu çalıştırdığınızda hangi hatayı görüyorsunuz? Openssl sürümünü buradan aldınız mı -> [https://code.google.com/p/openssl-for-windows/](https://code.google.com/p/openssl-for-windows/) veya başka bir yer? – gtrig

+0

Evet, aynı openssl sürümünü kullanıyorum. – Ankit

5

. Bunun yerine, çıktıyı bir dosyaya yazmak için -out bağımsız değişkenini kullanın. Örneğin.

openssl> x509 -pubkey -noout -in cert.pem -out pubkey.pem 
1

Eğer Openssh'ın için biçiminde gerekiyorsa bir RSA anahtarı

openssl rsa -pubout -in my_rsa_key.pem 

, genel anahtar özel anahtar ve SSH kullanımları oluşturulur olduğunu Use RSA private key to generate public key?

Not bakın ise Kimlik anahtarını (özel anahtar dosyası) oluşturmak ve ortak anahtarı sunucuya göndermek ve kimlik dosyasında özel anahtar aracılığıyla sunucudan şifrelenmiş belirteci şifrelemek.