2017-10-30 15 views

답변

1

. 더 자세한 대답은 여기에

serial = `openssl x509 -inform DER -in file.cer -noout -serial` 

: 나는 당신의 라인을 따라 뭔가를해야합니다 가정 방법, Calling shell commands from Ruby

+0

고마워요! 많은 도움이되었지만 파일의 전체 경로로 실행할 수는 있지만 모든 파일에 변수를 사용하여 실행하는 방법을 모르겠습니다. 시리얼 = '하려면 openssl에서는 X509 -inform DER -in /home/faviovelez/webapps/projects/007/mosaicone007/lib/cer/2/LAN7008173R5.cer -noout -serial' 이있어 : 내가 이것을 사용 : "serial = 3230303031303030303030333030303232383135 \ n" 파일 이름과 경로로 대체 할 수있는 변수로 어떻게 실행할 수 있습니까? – fvdev

+0

알았습니다! 나는이 일을했다 : 파일 = File.join (Rails.root, 'lib', 'cer', '2', 'LAN7008173R5.cer') serial ='openssl x509 -in # {file} -noout -serial' 그리고 내가 필요한 답을 얻었습니다! 고마워요! @Ziyan Junaideen – fvdev

1

클래스 OpenSSL::X509::Certificate를 포함하는 표준 라이브러리 모듈 OpenSSL,있다가 #serial

+0

고마워, 나는 이것을 사용 : new_file = (Rails.root.join ('lib', 'cer', '2', 'LAN7008173R5.cer')) translate = OpenSSL :: X509 : : Certificate.new new_file # 발급자 = # , serial = # , not_before = 2016-10-25 21:52:11 UTC, not_after = 2020-10-25 21:52:11 UTC> 명령을 쉘에 넣었습니다. serial = "serial = 3230303031303030303030333030303232383135"(예상되는 결과) – fvdev

+0

죄송합니다. 귀하의 문제를 이해하지 못합니다. 이제'translate' 변수에 인증서 객체가 있습니다. 'translate.serial'을 부르셨습니까? 무엇을 받았습니까? – unkmas

+0

네, 그리고 => # 하지만 해결 된 : 파일 = File.join (Rails.root, 'lib', 'cer', '2', 'LAN7008173R5.cer') serial = openssl x509-DER -in # {file} - noout -serial 그리고 이것을 얻었습니다 : "serial = 3230303031303030303030333030303232383135 \ n" – fvdev