Skip to content

Instantly share code, notes, and snippets.

@queso
Created October 24, 2012 17:35
Show Gist options
  • Select an option

  • Save queso/3947534 to your computer and use it in GitHub Desktop.

Select an option

Save queso/3947534 to your computer and use it in GitHub Desktop.
openssl genrsa -des3 -out config/private.pem 2048
openssl rsa -in config/private.pem -out config/public.pem -outform PEM -pubout
cat config/private.pem config/public.pem >> keypair.pem
irb(main):004:0> key_path = Rails.root.join('keypair.pem')
=> #<Pathname:/Users/josh/Code/Outright/aggregation/keypair.pem>
irb(main):005:0> key = key_path.read
=> "-----BEGIN RSA PRIVATE KEY-----\nProc-Type: 4,ENCRYPTED\nDEK-Info: DES-EDE3-CBC,212892DF3709856D\n\nxGMDk+el+
eTIKK579whf6BM6uVu9XDWKFi9E9JVUo0NqzlbuTgEmhdEXsSUu+di2\nOOg3O4yckqMGVRFeLvuwNfL1t+wJIa4RhE23d4nk/n0PINDEQKtQU1Hm
MCVuOrXH\nHmsjTdShzB4sUFTxxKXybZkecdrH9lHb9sDGIR0M9soaPUhhnb1aoZ+2hlyy++eH\nh3zL1W+J0a3OK64Oh1GZNgSyrZMiVAhfd7gnr
Ot6sy6PH0EEJgn1H1MJpfmmgc+D\n+KlnFvivmpRT5jyIJyd0uWHA/Y4jZwZKoL9QN1jeDRlquWhrbKaKUSF0A2jRrW7W\n7vErmzs7S/GQLXtu/R
qztT7BBWeCHx6wpeDy6FzpMcYlspfHOVbrNs7pZyK1Zw4E\n9YfTbjaMvtT+VaBB9WheiZ7+UWR59usB3u3mMK50yYf3CXW4BM7gnKP9/r3Pm6Xh\
nXKKHxHwr3TcaT7vNZavwMQfrw/ngnVoS1kLNec7C5Sfwcy/0FsAESrIOoI7xj/0m\n+wyqmJZZXTQtn04I7MFF7RZ8evmbRcLJ5dFAke83GB4SR9
dFu4Fbgv3juP/yjyZ/\nIpZmpBdPUdkWQjL61R5WMHwrnnK+QUvCmL/A3Jdxn81qk3gNleaF93f54esrdQo5\nLMsKc1Q+QGA/N1QW1tCcSpLUsOx
/0ohYQiAaZZ6JpNp3szkVPQLV2hYwgWraLlJi\nYqVKTFXL3z9Q2SVYDkMqBwrVfHQ1fvZbWRH4CTw4yOIYaiOO7fIoduu2mmz8hUgc\n9xKe0jDK
X0OnJ6M0No/+24YAT1gbJAaaH84CUhxNIOJTvtIJ7LJjyREAaO64HPT3\nbQ6Pk8aleBzxSOTXclfC9ArtOVEqG00BkZYqXb6axq7udnTJYvmI83m
WzONQGOlM\nLswZKv6s4AOCBJKY5KJeKxlGrrh31cvH3sr7njCWKmM5/94kcv0SbiBeaiam4cDO\nvsT8Le3kkLtRD1027/r5+8UPiau3EpGSIxCJ
kMv8ELC7OkBuYwlytylECHunU820\npU9g1xuu/cw5kJ6AlIq2z9Gaa0sEIodljyn3B56ud71zO427vvvEUVEMlXyy1id4\nofCoMuv7Z185podBO
6lhjDYW6ygUqNESPw4HqO86aL1Pw/n65T/I1Q7ss0SMh20i\nazN7NTZTGNTSJQZqbb8WmcqMmSaDPqdUz8HMRe+veFKgwSJDnsUr/ez2JUMofpjI
\n2PBcGF5OXx92hPo3+905X9lUUjO8pbJ6WRz/ss/1ZfydCsbc4abJJLQRdrezFxmu\neBfMpKhinaubfJ+HjtH9zuGKSlHX58kvIWl0msbJr7Z0/
S9YyP72mFKav6KtBF1b\naQVUBx/ggVNsj0ALxOg+FFLE46lx8+bcVqWFFBcUr7sACxVYfVukdjrPfP6/lxQ8\nDISvm9nXOvZEATeR+2u5Jx7e7D
jGvir0JgpJEEcKd1GMD+9K3Sz+VduUzEoes4Mj\nNF26rTpsqL4e/f3yHaBk2cMnpUzQOyJ5yYTLBdLs2gQMjKXyCm9GatKPrih+OFSZ\nQTj5Bz1
2T5yHRA1ywYMJ42az86xaNEFbgWmZCl28nWoP00MtA50ONA==\n-----END RSA PRIVATE KEY-----\n-----BEGIN PUBLIC KEY-----\nMII
BIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6lrHgcOozilAzYNxTcg3\n0VE+gl43J6t3Z5cGsEEOkelOzvwVCWKzMczw8pXpb1fW2AxznR
FI9jy3/2a0sKQV\nIslMwQhzDy6EYpJ/alnAQJVryTQVljUXLjrMgckXJ2qscWsnCiWGyPR3sY3CFDFJ\n2XOb30c6DySlgbsLHAsEDIZGlsVql5v
DBHpQNgNsv9jYGHj8fDIzn/eWTetMRJPV\nIT4KytIu5oM3BDJjaBBQBpCJu6gZzYRloIU58l4pDbMarisKMj7UK08AMp7D9dZl\ngY+cnN8H/otn
751E+YaUMyzvkbKZMCLv4VZxAEW7YgDv1ZcSr+HIn3IJqVA5HbNa\n7QIDAQAB\n-----END PUBLIC KEY-----\n"
irb(main):006:0> finished_key = OpenSSL::PKey::RSA.new(key, 'password') »
=> -----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA6lrHgcOozilAzYNxTcg30VE+gl43J6t3Z5cGsEEOkelOzvwV
CWKzMczw8pXpb1fW2AxznRFI9jy3/2a0sKQVIslMwQhzDy6EYpJ/alnAQJVryTQV
ljUXLjrMgckXJ2qscWsnCiWGyPR3sY3CFDFJ2XOb30c6DySlgbsLHAsEDIZGlsVq
l5vDBHpQNgNsv9jYGHj8fDIzn/eWTetMRJPVIT4KytIu5oM3BDJjaBBQBpCJu6gZ
zYRloIU58l4pDbMarisKMj7UK08AMp7D9dZlgY+cnN8H/otn751E+YaUMyzvkbKZ
MCLv4VZxAEW7YgDv1ZcSr+HIn3IJqVA5HbNa7QIDAQABAoIBAQCFVrE8u75HzmD4
jVjiEJDxn3AZbNGk2IJPhjZgAiPwEPat/e9aL7YVF63f2DvBBhFPS4ZcT4Fb2KA3
yI/2EOWVrULmcZBFiwn3q7KjJ/2iwWFaUTAXDo3p17qT/X4XBzKmNXk45LETlUSk
2Ssbog+KkaSWHUiDZS5l6a4gfoQHOyghggbS3JFmYxwstv43d7jefIy3rE8/zly2
k4u5vV2Pt2D/6qmqbwbrysvlsIf+FTQEWtDjKvTb6AqNGQLXlQrI6vrgnG90hZrT
vBZPatRmIFao3C2BMAwozcL7W8XPLD5jkY4obZbFR3I8xMqLT4abNFI9dGbJJUIZ
8asvrXsBAoGBAPddE4NiJIZdgzsl1lBYt/s2ZfclMP6OjP4XrflYlcSl9utA45Vq
JHLKL6Oqjvg3u0YFqyxtSZh5Ap3dvriw+NLyP09KijhehSPzXLcY3J2MFhdzVg2S
lxmx1BmO3/MSXDxzX2ZDkwES62MZcTjwnL6uLIDZ8qEBPQ6rplGkMphZAoGBAPKJ
bfXI98jMLC0Q7GP6qv50MH4yv3iKijMePG3oeEZTsuD8QiC6beqLSUX4hJlzkaOK
02x7xmrnRUU17+cafYSomlyhko4sGf+p7XQYj2weopIBlgGigq+5rkkteWtIWKcl
dymEuv+l85ko2vC6s1L34xcRlz9cp7GsS6yyZkS1AoGAdO1vYuSKhWVAuj3Zf6Ng
XIRLULco4Lt7lESXPU2NhiY5gNzsd110GzrNqBzgdh7KDIBzeI20gzl4bi06kU0+
YWCXYqDGk3zCjMrl4bsD1gk5DB69566KdF/l9are26SrKvwSdWGt5I0P7YlCRvsd
7NiiOspLcaYHOZ8UAHWQYQkCgYBVmT9f0a/yBG1K8oAbwSp8Z9F9mLeO+YZRCEjX
mYZpe7zUPvOvzVxhvQr9UPqrleg+yg5YaU7cCAegp6ql6+mE2mSwcK3i05nRa83M
faaQyDckRL8GkK6DCouCdDQ4Mu5m/4gQ9TFybMWOtqae86W6kJZrW9//ktn0kRSc
PNJvSQKBgH8yyign6AnR+KPoQpzTfJ8FpQ+FtFB9+HRnmvW7e9cRSxGQI+3lXLzs
wqFPEHfXnlC5qg7Xts5bfU8qdAeC4OFcZBDTA/ADw6MZWKYHitiLduwcyiInqxRe
gSBS3zxbH3wL00lVhp3elTd/A58uPFWr7U76GtkapprBx9gvEoDv
-----END RSA PRIVATE KEY-----
irb(main):006:0> key_path = Rails.root.join('keypair.pem')
=> #<Pathname:/Users/josh/Code/Outright/aggregation/keypair.pem>
irb(main):007:0> key = key_path.read
=> "-----BEGIN RSA PRIVATE KEY-----\nProc-Type: 4,ENCRYPTED\nDEK-Info: DES-EDE3-CBC,212892DF3709856D\n\nxGMDk+el+
eTIKK579whf6BM6uVu9XDWKFi9E9JVUo0NqzlbuTgEmhdEXsSUu+di2\nOOg3O4yckqMGVRFeLvuwNfL1t+wJIa4RhE23d4nk/n0PINDEQKtQU1Hm
MCVuOrXH\nHmsjTdShzB4sUFTxxKXybZkecdrH9lHb9sDGIR0M9soaPUhhnb1aoZ+2hlyy++eH\nh3zL1W+J0a3OK64Oh1GZNgSyrZMiVAhfd7gnr
Ot6sy6PH0EEJgn1H1MJpfmmgc+D\n+KlnFvivmpRT5jyIJyd0uWHA/Y4jZwZKoL9QN1jeDRlquWhrbKaKUSF0A2jRrW7W\n7vErmzs7S/GQLXtu/R
qztT7BBWeCHx6wpeDy6FzpMcYlspfHOVbrNs7pZyK1Zw4E\n9YfTbjaMvtT+VaBB9WheiZ7+UWR59usB3u3mMK50yYf3CXW4BM7gnKP9/r3Pm6Xh\
nXKKHxHwr3TcaT7vNZavwMQfrw/ngnVoS1kLNec7C5Sfwcy/0FsAESrIOoI7xj/0m\n+wyqmJZZXTQtn04I7MFF7RZ8evmbRcLJ5dFAke83GB4SR9
dFu4Fbgv3juP/yjyZ/\nIpZmpBdPUdkWQjL61R5WMHwrnnK+QUvCmL/A3Jdxn81qk3gNleaF93f54esrdQo5\nLMsKc1Q+QGA/N1QW1tCcSpLUsOx
/0ohYQiAaZZ6JpNp3szkVPQLV2hYwgWraLlJi\nYqVKTFXL3z9Q2SVYDkMqBwrVfHQ1fvZbWRH4CTw4yOIYaiOO7fIoduu2mmz8hUgc\n9xKe0jDK
X0OnJ6M0No/+24YAT1gbJAaaH84CUhxNIOJTvtIJ7LJjyREAaO64HPT3\nbQ6Pk8aleBzxSOTXclfC9ArtOVEqG00BkZYqXb6axq7udnTJYvmI83m
WzONQGOlM\nLswZKv6s4AOCBJKY5KJeKxlGrrh31cvH3sr7njCWKmM5/94kcv0SbiBeaiam4cDO\nvsT8Le3kkLtRD1027/r5+8UPiau3EpGSIxCJ
kMv8ELC7OkBuYwlytylECHunU820\npU9g1xuu/cw5kJ6AlIq2z9Gaa0sEIodljyn3B56ud71zO427vvvEUVEMlXyy1id4\nofCoMuv7Z185podBO
6lhjDYW6ygUqNESPw4HqO86aL1Pw/n65T/I1Q7ss0SMh20i\nazN7NTZTGNTSJQZqbb8WmcqMmSaDPqdUz8HMRe+veFKgwSJDnsUr/ez2JUMofpjI
\n2PBcGF5OXx92hPo3+905X9lUUjO8pbJ6WRz/ss/1ZfydCsbc4abJJLQRdrezFxmu\neBfMpKhinaubfJ+HjtH9zuGKSlHX58kvIWl0msbJr7Z0/
S9YyP72mFKav6KtBF1b\naQVUBx/ggVNsj0ALxOg+FFLE46lx8+bcVqWFFBcUr7sACxVYfVukdjrPfP6/lxQ8\nDISvm9nXOvZEATeR+2u5Jx7e7D
jGvir0JgpJEEcKd1GMD+9K3Sz+VduUzEoes4Mj\nNF26rTpsqL4e/f3yHaBk2cMnpUzQOyJ5yYTLBdLs2gQMjKXyCm9GatKPrih+OFSZ\nQTj5Bz1
2T5yHRA1ywYMJ42az86xaNEFbgWmZCl28nWoP00MtA50ONA==\n-----END RSA PRIVATE KEY-----\n-----BEGIN PUBLIC KEY-----\nMII
BIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6lrHgcOozilAzYNxTcg3\n0VE+gl43J6t3Z5cGsEEOkelOzvwVCWKzMczw8pXpb1fW2AxznR
FI9jy3/2a0sKQV\nIslMwQhzDy6EYpJ/alnAQJVryTQVljUXLjrMgckXJ2qscWsnCiWGyPR3sY3CFDFJ\n2XOb30c6DySlgbsLHAsEDIZGlsVql5v
DBHpQNgNsv9jYGHj8fDIzn/eWTetMRJPV\nIT4KytIu5oM3BDJjaBBQBpCJu6gZzYRloIU58l4pDbMarisKMj7UK08AMp7D9dZl\ngY+cnN8H/otn
751E+YaUMyzvkbKZMCLv4VZxAEW7YgDv1ZcSr+HIn3IJqVA5HbNa\n7QIDAQAB\n-----END PUBLIC KEY-----\n"
irb(main):008:0> finished_key = OpenSSL::PKey::RSA.new(key, 'password')
=> -----BEGIN RSA PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6lrHgcOozilAzYNxTcg3
0VE+gl43J6t3Z5cGsEEOkelOzvwVCWKzMczw8pXpb1fW2AxznRFI9jy3/2a0sKQV
IslMwQhzDy6EYpJ/alnAQJVryTQVljUXLjrMgckXJ2qscWsnCiWGyPR3sY3CFDFJ
2XOb30c6DySlgbsLHAsEDIZGlsVql5vDBHpQNgNsv9jYGHj8fDIzn/eWTetMRJPV
IT4KytIu5oM3BDJjaBBQBpCJu6gZzYRloIU58l4pDbMarisKMj7UK08AMp7D9dZl
gY+cnN8H/otn751E+YaUMyzvkbKZMCLv4VZxAEW7YgDv1ZcSr+HIn3IJqVA5HbNa
7QIDAQAB
-----END RSA PUBLIC KEY-----
key_path = Rails.root.join('keypair.pem')
key = key_path.read
finished_key = OpenSSL::PKey::RSA.new(key, 'password')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment