इतिहास:रूबी
- मैं अमेज़न पर एक महत्वपूर्ण और पीईएम फ़ाइल बनाई।
- मैं एक निजी बाल्टी
- मैं एक सार्वजनिक वितरण और इस्तेमाल किया मूल आईडी बनाई निजी बकेट से कनेक्ट करने के लिए बनाया: काम करता है
- मैं एक निजी वितरण बनाया है और # 3 के रूप में यह एक ही जुड़ा हुआ है - अब मैं पहुँच से मना कर पाने :
मुझे एक यूआरएल उत्पन्न करने में वास्तव में कठिन समय हो रहा है जो काम करेगा।
def url_safe(s)
s.gsub('+','-').gsub('=','_').gsub('/','~').gsub(/\n/,'').gsub(' ','')
end
def policy_for_resource(resource, expires = Time.now + 1.hour)
%({"Statement":[{"Resource":"#{resource}","Condition":{"DateLessThan":{"AWS:EpochTime":#{expires.to_i}}}}]})
end
def signature_for_resource(resource, key_id, private_key_file_name, expires = Time.now + 1.hour)
policy = url_safe(policy_for_resource(resource, expires))
key = OpenSSL::PKey::RSA.new(File.readlines(private_key_file_name).join(""))
url_safe(Base64.encode64(key.sign(OpenSSL::Digest::SHA1.new, (policy))))
end
def expiring_url_for_private_resource(resource, key_id, private_key_file_name, expires = Time.now + 1.hour)
sig = signature_for_resource(resource, key_id, private_key_file_name, expires)
"#{resource}?Expires=#{expires.to_i}&Signature=#{sig}&Key-Pair-Id=#{key_id}"
end
resource = "http://d27ss180g8tp83.cloudfront.net/iwantu.jpeg"
key_id = "APKAIS6OBYQ253QOURZA"
pk_file = "doc/pk-APKAIS6OBYQ253QOURZA.pem"
puts expiring_url_for_private_resource(resource, key_id, pk_file)
किसी को भी बता सकते हैं: - अभी भी हो रही पहुँच से मना कर http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/index.html?PrivateContent.html
यह मैं क्या मिल गया है अब तक ... हालांकि काम नहीं करता है: मैं दिशाओं यहाँ वर्णित का पालन करने की कोशिश कर रहा है मैं यहाँ क्या गलत कर रहा हूँ?