ssh-keygen tarafından üretilen id_rsa.pub anahtarım var. Id_rsa.pub dosyalarını RSA DER biçimlendirilmiş anahtarlara nasıl programlayabilirim?RSA ortak anahtarını RSA DER
cevap
Eğer bir anahtar oluşturmak amacıyla ssh-keygen kullanıyorsanız:
$ ssh-keygen
Sonra sadece böyle DER formatında ortak anahtarı çekin ve yazma openssl kullanabilirsiniz:
$ openssl rsa -in id_rsa -out pub.der -outform DER -pubout
writing RSA key
böyle PEM DER çıktı görebilirsiniz:
$ openssl rsa -in pub.der -inform DER -pubin -text
Ben bu yüzden kullanımı ne kadar kolay bilmiyorum Ruby kullanmayın Ruby'den OpenSSL.
Düzenleme: Çok hızlı yanıt verdim - id_rsa.pub yazdınız ve id_rsa'nın kendiniz olmayabilir. Başka bir Yığın Taşması sorusu tersine çevirme işlemi içindir, ancak burada bulunan kaynak kodu yardımcı olabilir: Convert pem key to ssh-rsa format PEM'iniz olduğunda PEM'i DER'ye dönüştürmek için openssl'i kullanabilirsiniz.
Düzenleme, Mayıs 2014: Ruby en sevdiğim programlama dili haline geldi ve orijinal soru (düzenlendiği için) Ruby hakkında sordu. Sen kabuğunda bu openssl komutlarla çıktı kontrol edebilirsiniz
require 'openssl'
require 'base64'
def read_length(s)
# four bytes, big-endian
length = s[0..3].unpack('N')[0]
end
def read_integer(s, length)
# shift all bytes into one integer
s[4..3 + length].unpack('C*').inject { |n, b| (n << 8) + b }
end
def cut(s, length)
s[4 + length..-1]
end
def decode_pub(pub)
# the second field is the Base64 piece needed
s = Base64.decode64(pub.split[1])
# first field reading "ssh-rsa" is ignored
i = read_length(s)
s = cut(s, i)
# public exponent e
i = read_length(s)
e = read_integer(s, i)
s = cut(s, i)
# modulus n
i = read_length(s)
n = read_integer(s, i)
[ e, n ]
end
def make_asn1(e, n)
# Simple RSA public key in ASN.1
e0 = OpenSSL::ASN1::Integer.new(e)
n1 = OpenSSL::ASN1::Integer.new(n)
OpenSSL::ASN1::Sequence.new([ e0, n1 ])
end
pub = File.read('id_rsa.pub')
asn1 = make_asn1(*decode_pub(pub))
# Let OpenSSL deal with converting from the simple ASN.1
key = OpenSSL::PKey::RSA.new(asn1.to_der)
# Write out the public key in both PEM and DER formats
File.open('id_rsa.pem', 'w') { |f| f.write key.to_pem }
File.open('id_rsa.der', 'w') { |f| f.write key.to_der }
:
$ openssl rsa -pubin -text -in id_rsa.pem
$ openssl rsa -pubin -text -inform DER -in id_rsa.der
İşte id_rsa.pub (genel anahtar) okuyup OpenSSL oluşturulan DER biçimli genel anahtarı yazmak için koddur
sadece ssh-keygen tarafından oluşturulan ortak anahtar erişimi ve biçimini aşağıdaki işleri DER dönüştürmek isterseniz:
ssh-keygen -f id_rsa.pub -e -m PKCS8 | openssl pkey -pubin -outform DER
Thi s, anahtarı PKCS8 PEM formatına dönüştürmek için ssh-keygen
kullanır, ardından DER formatına dönüştürmek için openssl pkey
kullanır.
(Ben Jim Flood cevabı olarak, ancak özel anahtar dosyası dokunmadan aynı işlevi görecektir.)
"Id_rsa.pub dosyalarını RSA DER biçimlendirilmiş anahtarlara nasıl programlayabilirim?" Bunu yapmak için emir istemedi. – jww
Plus, tüm dağıtımlarda çalışmıyor –
- 1. RSA Özel Anahtarını Kaydetme Android
- 2. RSA
- 3. XML RSA anahtarını PEM dosyasına nasıl dönüştürebilirim?
- 4. SELinux ssh ile RSA anahtarını engeller
- 5. RSA ortak anahtarını .cer'den nasıl çıkarılır ve OpenSSL'yi kullanarak bir .pem içinde nasıl depolanır?
- 6. RSA şifrelemek/şifresini çözmek
- 7. PEM + PKCS # bir RSA ortak anahtarı I PEM biçimi + PKCS # 1 (sanırım) bir RSA ortak anahtara sahip
- 8. RSA Şifreleme-Şifre çözme, iPhone
- 9. Java'da RSA şifreleme
- 10. RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING
- 11. Java RSA Şifreleme
- 12. RSA ortak anahtarına ham modül ve üssün dönüştürülmesi (.pem biçimi)
- 13. NET'te basit rsa şifreleme/şifre çözme?
- 14. RSA Şifreleme: PHP to PHP
- 15. Qt, RSA şifrelemesini destekliyor mu?
- 16. Java'da bilinen parametrelerden RSA anahtarları oluşturma
- 17. Port .Net RSA xml anahtarları Java'ya
- 18. Java'da RSA Şifreleme: Çapraz Platform Sorunları?
- 19. Ruby'den bir özel RSA anahtarı açma
- 20. System.IO.IOException: ----- END RSA ÖZEL ANAHTARI bulunamadı
- 21. OAuth1a imzalanmış isteğini RSA-SHA1 ile Twitter joauth kullanarak doğrula?
- 22. RSA C büyük veri şifreleme C#
- 23. Parola ile şifrelenmiş bir Privatekey ile RSA keyPair nasıl oluşturulur?
- 24. Kaydet ve yükle crypto/rsa PrivateKey diske ve diske
- 25. RSA: neden phi (phi (n)) çalışır?
- 26. Yönlendirici ile RSA-SHA1 imzaları oluşturma
- 27. RSA Eclipse Remote Systems Explorer Kullanıyor mu?
- 28. Özel anahtar RSA özel anahtarına nasıl dönüştürülür?
- 29. .. RSA anahtarları üretebilir ve şifreleyebilir/şifresini çözebilir?
- 30. Java'da RSA anahtar nesnesini XML'ye dışa aktarma
İyi bir çözüm, teşekkür ederim! –