Skip to content

Instantly share code, notes, and snippets.

@pacojp
Last active August 29, 2015 14:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pacojp/11285638 to your computer and use it in GitHub Desktop.
Save pacojp/11285638 to your computer and use it in GitHub Desktop.
require 'openssl'
require 'base64'
# 以下は自分で作ったテスト用鍵(password:test)
key = "-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5FXW2ILwLtuzTZyftaBX
47C5kvQk0q+qBB8iuTOoJawrgE5lzspDYJSwA8fPtbzAdxooNUTMdyv6SVWj1vH2
SWP3M0KH9LzyQJlxoS03GoRpw8XHNWZr5+JClcBEuUiAp09B9pLR3i+kX4vzc1+z
1LRLCwBLq8BiL+lSf1mDNrMKi8pSzsYHk1TTPeQuRjCRip6rQFvr1Gllj+ZrCir4
q3z77/7xbE23JdbqB9wmXUhKHcIlO5nwVnczkdz0d6OL4vU7F9feRoMGDXCKq7ZZ
Ime6ddVoucrQdRPhxRsV3SpwJjvZ/4edcL6MrBW94FHSQrvZnPBRw920z/IF+MeL
ewIDAQAB
-----END PUBLIC KEY-----
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,63AF1B99FCF793EA9D16ABC573DFA01D
AP6AhdtFHEInjEsJARo0NtwRZJb4o1zN3ROYBImRW32yRrQRk6Jw/z4rqKOgOmBq
mSyprVmkjNWS7nutZMtZvOJWd+st4smHbqVG/QDD84kf/PHHMvkWzZlyxjxdV4cP
lC5YCH71XP/j+T76y3y61CzCs0t8XCzHkVTe1FibEpmaWSzZWTzAJLufViugfHYW
JBGv2EJYezXqI7CaA3kqn96AtelrzIOORjvsRoyETsnKYOemFDHcSPytGB02Xpa0
N4C33mMwlcZzaLHqYsNW/17nn0L1YYbJilEewu602kd8Ooig9DwzZPFSSYHok+ri
plSLR/3gfWkVdwGLF4WKY5jV3cEib49P+/ixcZMm7CyOS1vHCL617ouXnEi/r4cQ
sLkOj1XGH6y7juGWkdcz0l0W5g9ne57/ViKtMfXzgV2lleHVs8O1O1zJvGjHk3Yd
s/Ta+RkJm0aYAs+6ILB1Rs/88QL/Z3zMyQlwpo9lfaE6Wffd+1dHhaXucH18mNag
XuIJBlbowAji4fL9DDEZTWypFK3OIn/ezDKX3PXA2e/tFxo5OPjMYmJUekBnjEUo
jc0awWgIeZKQNvFjbPsq+ulwPx4Q/p0IG8j6mXFQdo5kA/qKko2XLpNLRBFwQvah
7dxxp0Oh9OcPqdQHi+JuSLdYaq7/aob8yYk2Mdc2u75JOtU67yeCc2yL5fXMIYF0
IR7tlehRzE/Ini65eQANEAmB2VcgAhcm5b5Rou4tc3Z1YtIXNIkkoGVfyVGd0RXI
NKq9nqtI9NBdk31fKVvtKnvC7By9ZLcXSgCgEweg5xZStfnhZ77y0Uc5uwPr2RJ+
T69WFm0bSa5YCHkJLTGH54+cEc56zlI3HlUCclFEVMkwhxBwnCw+7WZXjwKmp16S
EsjPl6+tAbqdwj7d3+U+lb0H/c4jWm8xtKAE/1m0e5OyUzjFQdllGKAKbA6Yl2gD
zQjsIFUGigh44oaZu6xrK2fnigUiDfV+dky2xIhYEgtr2LG88/AqNYfl04Zak1WV
k6IlI9cfYhYZq2+raehV8IOfERpQSuXWF+DTDTTwgAvC/q4J1sh2xqhiJ7tmYRqi
kiMpuiaT9j4JKhstiVZX6O7+UFUEDnkHCuRXxkhE6Xkcx90M9IFvRDjW4klOvNqX
lbkMkpQUFHk4YtcL17imn4rpDXHh8UZ7H/y+Fd64Lhtj2tKY2pNVKywk+cyedEEZ
tkGrAGjX6e8c3smcyvQsiXUAoweFQzdqBJbyPi4ZlqYRblnutjRsj4qkhwTMqtpf
cBnNv/4ll4rCdp+AG1UdIOrHjepc1XY6Ae0Hwo0daggIBBvurcGKelSBHrTT2Gkx
h/fU7+5ldIgh/VcMKQHHl6nhUh05omats53SgkbUcY/OHsmgnNaO+mnpek9UtDPS
hE2NH/qssmceHHGVdjtS88IHfWLcpPOQnldLsYBXT/2iamEnz4H32NBolai+Btpt
EyxwVsGoB559Re6wcqpuFVWFBNZdp8FOFLsR8jfM71UX4RY9330+ppOzeBqlN9UW
0a1kmQIlLMjNBttIYIIS+uvtJ7RB44rQk0lj3k52WCPJJylR60ZWJX9x15jJHQuM
-----END RSA PRIVATE KEY-----"
ssl = OpenSSL::PKey::RSA.new(key)
puts "public?:#{ssl.public?}"
puts "private?:#{ssl.private?}"
encrypted = Base64.encode64(ssl.private_encrypt('12345678'))
puts "encripted:#{encrypted}"
decrypted = ssl.public_decrypt(Base64.decode64(encrypted))
puts "decrypted:#{decrypted}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment