opensecret 0.0.988 → 0.0.9925

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +56 -159
  3. data/bin/opensecret +2 -2
  4. data/bin/ops +17 -2
  5. data/lib/extension/string.rb +14 -16
  6. data/lib/{interpreter.rb → interprete.rb} +53 -29
  7. data/lib/keytools/binary.map.rb +49 -0
  8. data/lib/keytools/kdf.api.rb +249 -0
  9. data/lib/keytools/kdf.bcrypt.rb +64 -29
  10. data/lib/keytools/kdf.pbkdf2.rb +92 -83
  11. data/lib/keytools/kdf.scrypt.rb +190 -0
  12. data/lib/keytools/key.64.rb +326 -0
  13. data/lib/keytools/key.algo.rb +109 -0
  14. data/lib/keytools/key.api.rb +1281 -0
  15. data/lib/keytools/key.db.rb +265 -0
  16. data/lib/keytools/{key.module.rb → key.docs.rb} +55 -0
  17. data/lib/keytools/key.error.rb +110 -0
  18. data/lib/keytools/key.id.rb +271 -0
  19. data/lib/keytools/key.iv.rb +107 -0
  20. data/lib/keytools/key.local.rb +265 -0
  21. data/lib/keytools/key.mach.rb +248 -0
  22. data/lib/keytools/key.now.rb +402 -0
  23. data/lib/keytools/key.pair.rb +259 -0
  24. data/lib/keytools/key.pass.rb +120 -0
  25. data/lib/keytools/key.rb +428 -298
  26. data/lib/keytools/keydebug.txt +295 -0
  27. data/lib/logging/gem.logging.rb +3 -3
  28. data/lib/modules/cryptology/collect.rb +20 -0
  29. data/lib/session/require.gem.rb +1 -1
  30. data/lib/usecase/cmd.rb +417 -0
  31. data/lib/usecase/id.rb +36 -0
  32. data/lib/usecase/import.rb +174 -0
  33. data/lib/usecase/init.rb +78 -0
  34. data/lib/usecase/login.rb +70 -0
  35. data/lib/usecase/logout.rb +30 -0
  36. data/lib/usecase/open.rb +126 -0
  37. data/lib/{interprete → usecase}/put.rb +100 -47
  38. data/lib/usecase/read.rb +89 -0
  39. data/lib/{interprete → usecase}/safe.rb +0 -0
  40. data/lib/{interprete → usecase}/set.rb +0 -0
  41. data/lib/usecase/token.rb +111 -0
  42. data/lib/{interprete → usecase}/use.rb +0 -0
  43. data/lib/version.rb +1 -1
  44. data/opensecret.gemspec +4 -3
  45. metadata +39 -33
  46. data/lib/exception/cli.error.rb +0 -53
  47. data/lib/exception/errors/cli.errors.rb +0 -31
  48. data/lib/interprete/begin.rb +0 -232
  49. data/lib/interprete/cmd.rb +0 -621
  50. data/lib/interprete/export.rb +0 -163
  51. data/lib/interprete/init.rb +0 -205
  52. data/lib/interprete/key.rb +0 -119
  53. data/lib/interprete/open.rb +0 -148
  54. data/lib/interprete/seal.rb +0 -129
  55. data/lib/keytools/digester.rb +0 -245
  56. data/lib/keytools/key.data.rb +0 -227
  57. data/lib/keytools/key.derivation.rb +0 -341
  58. data/lib/modules/mappers/collateral.rb +0 -282
  59. data/lib/modules/mappers/envelope.rb +0 -127
  60. data/lib/modules/mappers/settings.rb +0 -170
  61. data/lib/notepad/scratch.pad.rb +0 -224
  62. data/lib/store-commands.txt +0 -180
@@ -0,0 +1,295 @@
1
+
2
+ #### ###################### ####
3
+ #### Waiting for Gre Output ####
4
+ #### ###################### ####
5
+
6
+
7
+ Commands
8
+
9
+ grep -E "do_encrypt_key|do_decrypt_key|generate_shell_key_and_token|regenerate_shell_key|derive_session_crypt_key|derive_shell_identity_string" *.log
10
+
11
+
12
+ I, [2018-06-20T07:16:31.020725 #27357] INFO -- key.local | generate_shell_key_and_token | (line 81) : "### #####################################################################"
13
+ I, [2018-06-20T07:16:31.020761 #27357] INFO -- key.local | generate_shell_key_and_token | (line 82) : "### Caller Details =>> =>> key | execute | (line 83)"
14
+ I, [2018-06-20T07:16:31.020799 #27357] INFO -- key.local | generate_shell_key_and_token | (line 83) : "### #####################################################################"
15
+ I, [2018-06-20T07:16:31.024921 #27357] INFO -- key.mach | derive_shell_identity_string | (line 85) : "### #####################################################################"
16
+ I, [2018-06-20T07:16:31.024971 #27357] INFO -- key.mach | derive_shell_identity_string | (line 86) : "### Caller Details =>> =>> key.local | derive_session_crypt_key | (line 232)"
17
+ I, [2018-06-20T07:16:31.025008 #27357] INFO -- key.mach | derive_shell_identity_string | (line 87) : "### #####################################################################"
18
+ I, [2018-06-20T07:16:31.025388 #27357] INFO -- key.mach | derive_shell_identity_string | (line 90) : "Etc.getlogin() => apollo"
19
+ I, [2018-06-20T07:16:31.025438 #27357] INFO -- key.mach | derive_shell_identity_string | (line 91) : "Socket.gethostname() => warehouse"
20
+ I, [2018-06-20T07:16:31.025920 #27357] INFO -- key.mach | derive_shell_identity_string | (line 92) : "get_net_address_digits() => 192168014"
21
+ I, [2018-06-20T07:16:31.031573 #27357] INFO -- key.mach | derive_shell_identity_string | (line 93) : "derive_network_identity() => 20cf3067dec3"
22
+ I, [2018-06-20T07:16:31.034135 #27357] INFO -- key.mach | derive_shell_identity_string | (line 94) : "get_bootup_time_digits() => 20000556"
23
+ I, [2018-06-20T07:16:31.034229 #27357] INFO -- key.mach | derive_shell_identity_string | (line 95) : "Process.ppid.to_s() => 26314"
24
+ I, [2018-06-20T07:16:31.037052 #27357] INFO -- key.local | derive_session_crypt_key | (line 237) : "Shell Identity Str => 41362555000023ced7603fc02410861291esuoherawollopa"
25
+ I, [2018-06-20T07:16:31.037138 #27357] INFO -- key.local | derive_session_crypt_key | (line 238) : "Shell Id TxtLength => 49"
26
+ I, [2018-06-20T07:16:31.037186 #27357] INFO -- key.local | derive_session_crypt_key | (line 239) : "Truncate Shell Str => false"
27
+ I, [2018-06-20T07:16:31.037222 #27357] INFO -- key.local | derive_session_crypt_key | (line 240) : "Resulting IDString => 41362555000023ced7603fc02410861291esuoherawollopa"
28
+ I, [2018-06-20T07:16:35.230008 #27357] INFO -- key | do_encrypt_key | (line 410) : "### #####################################################################"
29
+ I, [2018-06-20T07:16:35.230094 #27357] INFO -- key | do_encrypt_key | (line 411) : "### Caller Details =>> =>> key.local | generate_shell_key_and_token | (line 88)"
30
+ I, [2018-06-20T07:16:35.230135 #27357] INFO -- key | do_encrypt_key | (line 412) : "### #####################################################################"
31
+ I, [2018-06-20T07:16:35.230175 #27357] INFO -- key | do_encrypt_key | (line 413) : "The BitStr Char representation of this key => 011000011010001100100111011100011001011010011001110010100010101000000110011101011011011010010101110001001111000100110001011111110101101010101101011101101111100011101001010100000101"
32
+ I, [2018-06-20T07:16:35.230232 #27357] INFO -- key | do_encrypt_key | (line 414) : "256bit Digest (Urlsafe Base64) of this key => hQvwy9Sm2PHSJ6AuDtl4dhOF1gKfR1ydKcNelRZzYu0="
33
+ I, [2018-06-20T07:16:35.230323 #27357] INFO -- key | do_encrypt_key | (line 415) : "The IncomingKey Base64 Char representation => isbrxRc4eGC6gZjDfxT2sxkK4OHPvd6LR4Zar6ssZOA@NDxaM2ZzFxi7fDDa7xUh"
34
+ I, [2018-06-20T07:16:35.230369 #27357] INFO -- key | do_encrypt_key | (line 416) : "Random IV Used for the AESs Key Encryption => Ly28cDkZ-wyEKMhXqy9Zrg=="
35
+ I, [2018-06-20T07:16:35.230488 #27357] INFO -- key | do_encrypt_key | (line 419) : "Cipher Text Produced after this Encryption => l_-BzmA3ZKVbZMpinEUlEWkHc20o8CErtrm24RwNubNXnC_hRunGQYUgPsC0WVUyBbVYIuO9W-_fL_EHgnUngRsALCvlz1xSBmH3Ab68qUI="
36
+ I, [2018-06-20T07:16:35.230628 #27357] INFO -- key | do_encrypt_key | (line 425) : "Amalgam of Binary Random IV and Ciphertext => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZW"
37
+ I, [2018-06-20T07:16:35.230671 #27357] INFO -- key | do_encrypt_key | (line 426) : "------------------------------------------------------------------------- >>>>>>"
38
+ I, [2018-06-20T07:16:35.230718 #27357] INFO -- key.local | generate_shell_key_and_token | (line 92) : "BCrypt Salt Create => mqM3yu.Bin.H.nh4l3cwoO"
39
+ I, [2018-06-20T07:16:35.230756 #27357] INFO -- key.local | generate_shell_key_and_token | (line 93) : "Obfuscate ShellKey => 011000011010001100100111011100011001011010011001110010100010101000000110011101011011011010010101110001001111000100110001011111110101101010101101011101101111100011101001010100000101"
40
+ I, [2018-06-20T07:16:35.230797 #27357] INFO -- key.local | generate_shell_key_and_token | (line 94) : "EncryptedKey Crypt => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZW"
41
+ I, [2018-06-20T07:16:35.230833 #27357] INFO -- key.local | generate_shell_key_and_token | (line 95) : "Session Token Unit => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZWOowc3l4hn.H.niB.uy3Mqm"
42
+ I, [2018-06-20T07:17:05.853753 #27607] INFO -- key | do_encrypt_key | (line 410) : "### #####################################################################"
43
+ I, [2018-06-20T07:17:05.853850 #27607] INFO -- key | do_encrypt_key | (line 411) : "### Caller Details =>> =>> key.api | recycle_keys | (line 310)"
44
+ I, [2018-06-20T07:17:05.853891 #27607] INFO -- key | do_encrypt_key | (line 412) : "### #####################################################################"
45
+ I, [2018-06-20T07:17:05.853929 #27607] INFO -- key | do_encrypt_key | (line 413) : "The BitStr Char representation of this key => 00001010011110001010010001101010011111110011010000100110100111110001010010000111101001000000110101000000001001011001111001001000010001110011101111101100110101100000111100111011010111111101110000101010111011001000011011101011000111000011000101001011100101100111011010101000111110101011111110010000100001010100011110100101101110100101001000000110111100010101101101000110100110010100010001101110001100110000100110000111011000000111110011011000110101011111110111010010111110001100011001101001101001010011010011011101"
46
+ I, [2018-06-20T07:17:05.853985 #27607] INFO -- key | do_encrypt_key | (line 414) : "256bit Digest (Urlsafe Base64) of this key => -RYLRFsfr92eq_K_w5FeAUTwgsQLIcZIk2mxCmhoFyM="
47
+ I, [2018-06-20T07:17:05.854076 #27607] INFO -- key | do_encrypt_key | (line 415) : "The IncomingKey Base64 Char representation => CVcyceOj3UZSkP6g@ZyilcKL9jLjy0Bn9EWyQiYYGyarBwr2f7%Qg6AgpqhiJ14Q"
48
+ I, [2018-06-20T07:17:05.854128 #27607] INFO -- key | do_encrypt_key | (line 416) : "Random IV Used for the AESs Key Encryption => zTEt2_SF3ZszGGcgu8zlsA=="
49
+ I, [2018-06-20T07:17:05.854268 #27607] INFO -- key | do_encrypt_key | (line 419) : "Cipher Text Produced after this Encryption => 7GhAsfOQyTI6NZcr3Acq94emTV7m9P-zIG4Rw_KXz66bgPHF_AsDuEiK-ZAt0gQylUSAFzHo-BR1bW8PVNWOaHbsB_HjNzOc934zJtTZLRM="
50
+ I, [2018-06-20T07:17:05.854387 #27607] INFO -- key | do_encrypt_key | (line 425) : "Amalgam of Binary Random IV and Ciphertext => v6fhUilKXNMvOOSV4DvZMEdGL5zv@c@7E0og1xqz1pTzj@2TCp6iM794fSJ7ZDP48rBddbq5aQR3Hp8L5%3fcjwfV9SdyJVI%o2pB26w08RUQabdrvSvFJ%Pc7YIUle6"
51
+ I, [2018-06-20T07:17:05.854427 #27607] INFO -- key | do_encrypt_key | (line 426) : "------------------------------------------------------------------------- >>>>>>"
52
+ I, [2018-06-20T07:17:45.388202 #27923] INFO -- key | do_decrypt_key | (line 476) : "### #####################################################################"
53
+ I, [2018-06-20T07:17:45.388284 #27923] INFO -- key | do_decrypt_key | (line 477) : "### Caller Details =>> =>> key.api | do_login | (line 443)"
54
+ I, [2018-06-20T07:17:45.388323 #27923] INFO -- key | do_decrypt_key | (line 478) : "### #####################################################################"
55
+ I, [2018-06-20T07:17:45.388360 #27923] INFO -- key | do_decrypt_key | (line 479) : "Amalgam of Binary Random IV and Ciphertext => v6fhUilKXNMvOOSV4DvZMEdGL5zv@c@7E0og1xqz1pTzj@2TCp6iM794fSJ7ZDP48rBddbq5aQR3Hp8L5%3fcjwfV9SdyJVI%o2pB26w08RUQabdrvSvFJ%Pc7YIUle6"
56
+ I, [2018-06-20T07:17:45.388397 #27923] INFO -- key | do_decrypt_key | (line 480) : "The Base64 Char representation of this key => 00001010011110001010010001101010011111110011010000100110100111110001010010000111101001000000110101000000001001011001111001001000010001110011101111101100110101100000111100111011010111111101110000101010111011001000011011101011000111000011000101001011100101100111011010101000111110101011111110010000100001010100011110100101101110100101001000000110111100010101101101000110100110010100010001101110001100110000100110000111011000000111110011011000110101011111110111010010111110001100011001101001101001010011010011011101"
57
+ I, [2018-06-20T07:17:45.388461 #27923] INFO -- key | do_decrypt_key | (line 481) : "256bit Digest (Urlsafe Base64) of this key => -RYLRFsfr92eq_K_w5FeAUTwgsQLIcZIk2mxCmhoFyM="
58
+ I, [2018-06-20T07:17:45.388917 #27923] INFO -- key | do_decrypt_key | (line 496) : "The OutgoingKey Base64 Char representation => CVcyceOj3UZSkP6g@ZyilcKL9jLjy0Bn9EWyQiYYGyarBwr2f7%Qg6AgpqhiJ14Q"
59
+ I, [2018-06-20T07:17:51.050189 #27923] INFO -- key | do_encrypt_key | (line 410) : "### #####################################################################"
60
+ I, [2018-06-20T07:17:51.050278 #27923] INFO -- key | do_encrypt_key | (line 411) : "### Caller Details =>> =>> key.api | recycle_keys | (line 310)"
61
+ I, [2018-06-20T07:17:51.050317 #27923] INFO -- key | do_encrypt_key | (line 412) : "### #####################################################################"
62
+ I, [2018-06-20T07:17:51.050358 #27923] INFO -- key | do_encrypt_key | (line 413) : "The BitStr Char representation of this key => 10010111000101110100110011110111101101100011010001111100110000110001000000011111011001111101100110110100000000000000101110111010001101001000000100100001011100111011001111111100000110100100111001101011111111101100000100111101100111100100011011100111000100010111111100111010011001111001011101001011001111010100101111100011001110000110111011001000111011110000000011100100111001011000110011100111100110101110110110001011111110011110101000001011000010010100011011010101000100101110111001110101101111001011111110101010"
63
+ I, [2018-06-20T07:17:51.050413 #27923] INFO -- key | do_encrypt_key | (line 414) : "256bit Digest (Urlsafe Base64) of this key => lvHyYL3wa4o-AW8zKcUHJXfOdQpk-zvbSBUKiFY2BqY="
64
+ I, [2018-06-20T07:17:51.050505 #27923] INFO -- key | do_encrypt_key | (line 415) : "The IncomingKey Base64 Char representation => L81G0yQKLWFRTMq5Bi%5sTHzKZi5aVfYozcgHsQPH%foRvfX899ruybvzrmVN5tB"
65
+ I, [2018-06-20T07:17:51.050553 #27923] INFO -- key | do_encrypt_key | (line 416) : "Random IV Used for the AESs Key Encryption => 2ZyunX6ee_rr936fN1smCw=="
66
+ I, [2018-06-20T07:17:51.050654 #27923] INFO -- key | do_encrypt_key | (line 419) : "Cipher Text Produced after this Encryption => -gCsGq-FFKJpSk7go1K3WZHsFToOzuGHEAwA-DJ7NBzE8k4w5NEIUBm_njyO6pRajp7cgtwodDUMVV-U5wMvaKqA8OB8yl0lOFxJih1-Wgs="
67
+ I, [2018-06-20T07:17:51.050798 #27923] INFO -- key | do_encrypt_key | (line 425) : "Amalgam of Binary Random IV and Ciphertext => UN74FgyTTimmxXybn2M8WiGam9upRAlHtIjEr1nlh28AQ9IyBMQRRdacaJV7TvLSdJsEcE6AWKaNpCrD04uIoGyTX35S1zL2BKwbZESB5UHuVJBVbcj%s6RSlkG%bZG5"
68
+ I, [2018-06-20T07:17:51.050839 #27923] INFO -- key | do_encrypt_key | (line 426) : "------------------------------------------------------------------------- >>>>>>"
69
+ I, [2018-06-20T07:17:51.051712 #27923] INFO -- key.local | regenerate_shell_key | (line 157) : "### #####################################################################"
70
+ I, [2018-06-20T07:17:51.051756 #27923] INFO -- key.local | regenerate_shell_key | (line 158) : "### Caller Details =>> =>> key.api | do_login | (line 472)"
71
+ I, [2018-06-20T07:17:51.051792 #27923] INFO -- key.local | regenerate_shell_key | (line 159) : "### #####################################################################"
72
+ I, [2018-06-20T07:17:51.051969 #27923] INFO -- key.mach | derive_shell_identity_string | (line 85) : "### #####################################################################"
73
+ I, [2018-06-20T07:17:51.052009 #27923] INFO -- key.mach | derive_shell_identity_string | (line 86) : "### Caller Details =>> =>> key.local | derive_session_crypt_key | (line 232)"
74
+ I, [2018-06-20T07:17:51.052045 #27923] INFO -- key.mach | derive_shell_identity_string | (line 87) : "### #####################################################################"
75
+ I, [2018-06-20T07:17:51.052128 #27923] INFO -- key.mach | derive_shell_identity_string | (line 90) : "Etc.getlogin() => apollo"
76
+ I, [2018-06-20T07:17:51.052178 #27923] INFO -- key.mach | derive_shell_identity_string | (line 91) : "Socket.gethostname() => warehouse"
77
+ I, [2018-06-20T07:17:51.052624 #27923] INFO -- key.mach | derive_shell_identity_string | (line 92) : "get_net_address_digits() => 192168014"
78
+ I, [2018-06-20T07:17:51.052794 #27923] INFO -- key.mach | derive_shell_identity_string | (line 93) : "derive_network_identity() => 20cf3067dec3"
79
+ I, [2018-06-20T07:17:51.054430 #27923] INFO -- key.mach | derive_shell_identity_string | (line 94) : "get_bootup_time_digits() => 20000556"
80
+ I, [2018-06-20T07:17:51.054517 #27923] INFO -- key.mach | derive_shell_identity_string | (line 95) : "Process.ppid.to_s() => 26314"
81
+ I, [2018-06-20T07:17:51.078095 #27923] INFO -- key.local | derive_session_crypt_key | (line 237) : "Shell Identity Str => 41362555000023ced7603fc02410861291esuoherawollopa"
82
+ I, [2018-06-20T07:17:51.078194 #27923] INFO -- key.local | derive_session_crypt_key | (line 238) : "Shell Id TxtLength => 49"
83
+ I, [2018-06-20T07:17:51.078232 #27923] INFO -- key.local | derive_session_crypt_key | (line 239) : "Truncate Shell Str => false"
84
+ I, [2018-06-20T07:17:51.078268 #27923] INFO -- key.local | derive_session_crypt_key | (line 240) : "Resulting IDString => 41362555000023ced7603fc02410861291esuoherawollopa"
85
+ I, [2018-06-20T07:17:55.317529 #27923] INFO -- key.local | regenerate_shell_key | (line 169) : "BCrypt Salt REGEND => mqM3yu.Bin.H.nh4l3cwoO"
86
+ I, [2018-06-20T07:17:55.317603 #27923] INFO -- key.local | regenerate_shell_key | (line 170) : "SessionToken REGEN => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZWOowc3l4hn.H.niB.uy3Mqm"
87
+ I, [2018-06-20T07:17:55.317642 #27923] INFO -- key.local | regenerate_shell_key | (line 171) : "Chopped Ciphertext => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZW"
88
+ I, [2018-06-20T07:17:55.317680 #27923] INFO -- key.local | regenerate_shell_key | (line 172) : "Obfuscate ShellKey => 011000011010001100100111011100011001011010011001110010100010101000000110011101011011011010010101110001001111000100110001011111110101101010101101011101101111100011101001010100000101"
89
+ I, [2018-06-20T07:17:55.317722 #27923] INFO -- key | do_decrypt_key | (line 476) : "### #####################################################################"
90
+ I, [2018-06-20T07:17:55.317765 #27923] INFO -- key | do_decrypt_key | (line 477) : "### Caller Details =>> =>> key.local | regenerate_shell_key | (line 174)"
91
+ I, [2018-06-20T07:17:55.317801 #27923] INFO -- key | do_decrypt_key | (line 478) : "### #####################################################################"
92
+ I, [2018-06-20T07:17:55.317837 #27923] INFO -- key | do_decrypt_key | (line 479) : "Amalgam of Binary Random IV and Ciphertext => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZW"
93
+ I, [2018-06-20T07:17:55.317873 #27923] INFO -- key | do_decrypt_key | (line 480) : "The Base64 Char representation of this key => 011000011010001100100111011100011001011010011001110010100010101000000110011101011011011010010101110001001111000100110001011111110101101010101101011101101111100011101001010100000101"
94
+ I, [2018-06-20T07:17:55.317929 #27923] INFO -- key | do_decrypt_key | (line 481) : "256bit Digest (Urlsafe Base64) of this key => hQvwy9Sm2PHSJ6AuDtl4dhOF1gKfR1ydKcNelRZzYu0="
95
+ I, [2018-06-20T07:17:55.318393 #27923] INFO -- key | do_decrypt_key | (line 496) : "The OutgoingKey Base64 Char representation => isbrxRc4eGC6gZjDfxT2sxkK4OHPvd6LR4Zar6ssZOA@NDxaM2ZzFxi7fDDa7xUh"
96
+ I, [2018-06-20T07:17:55.318706 #27923] INFO -- key | do_encrypt_key | (line 410) : "### #####################################################################"
97
+ I, [2018-06-20T07:17:55.318746 #27923] INFO -- key | do_encrypt_key | (line 411) : "### Caller Details =>> =>> key.api | do_login | (line 473)"
98
+ I, [2018-06-20T07:17:55.318781 #27923] INFO -- key | do_encrypt_key | (line 412) : "### #####################################################################"
99
+ I, [2018-06-20T07:17:55.318819 #27923] INFO -- key | do_encrypt_key | (line 413) : "The BitStr Char representation of this key => 111111001001011111111000111101100001001100101110110100101000111001010011010111100101101001111100000100111101011110110101001001111101011000000101101110000110100010111110110011110001010011010000100001101110100101000000111000010011001001001001100101000110010001100100011001111100111101000000101100110101100101000111100111111101111111110010000100111100111100000000110010111101110110101101"
100
+ I, [2018-06-20T07:17:55.318870 #27923] INFO -- key | do_encrypt_key | (line 414) : "256bit Digest (Urlsafe Base64) of this key => OV2cJi1zcgvh_WJD0xld30i_Ovnhqs3bveNsmI1Z-tM="
101
+ I, [2018-06-20T07:17:55.318993 #27923] INFO -- key | do_encrypt_key | (line 415) : "The IncomingKey Base64 Char representation => L81G0yQKLWFRTMq5Bi%5sTHzKZi5aVfYozcgHsQPH%foRvfX899ruybvzrmVN5tB"
102
+ I, [2018-06-20T07:17:55.319038 #27923] INFO -- key | do_encrypt_key | (line 416) : "Random IV Used for the AESs Key Encryption => UjvUkLdGHxOhuY-7CtT8zw=="
103
+ I, [2018-06-20T07:17:55.319121 #27923] INFO -- key | do_encrypt_key | (line 419) : "Cipher Text Produced after this Encryption => FinrBH6i6nUYR25qql-Tp6RTczQpkvhhPamW2gvS3upAY7CDK3zM4syJIq3S541EKuBpVPexVx02qClN3iKwgcAz9p1wsk0ktEhbR8B6Mls="
104
+ I, [2018-06-20T07:17:55.319239 #27923] INFO -- key | do_encrypt_key | (line 425) : "Amalgam of Binary Random IV and Ciphertext => I0pI@5%OzdER4kPQWh6DvdkjyqAPG4j2Of%4tujb@yT@IXce1N5rk6UjZhG5ehQuLOEqV7hDvE5cHl1he4TnAWmVtw6XMwS%nuVj6%rHM3zacit%S5sns5A3oebaT0sY"
105
+ I, [2018-06-20T07:17:55.319278 #27923] INFO -- key | do_encrypt_key | (line 426) : "------------------------------------------------------------------------- >>>>>>"
106
+ I, [2018-06-20T07:18:47.195554 #29057] INFO -- key.local | regenerate_shell_key | (line 157) : "### #####################################################################"
107
+ I, [2018-06-20T07:18:47.195600 #29057] INFO -- key.local | regenerate_shell_key | (line 158) : "### Caller Details =>> =>> key.api | read_app_content | (line 672)"
108
+ I, [2018-06-20T07:18:47.195638 #29057] INFO -- key.local | regenerate_shell_key | (line 159) : "### #####################################################################"
109
+ I, [2018-06-20T07:18:47.195777 #29057] INFO -- key.mach | derive_shell_identity_string | (line 85) : "### #####################################################################"
110
+ I, [2018-06-20T07:18:47.195817 #29057] INFO -- key.mach | derive_shell_identity_string | (line 86) : "### Caller Details =>> =>> key.local | derive_session_crypt_key | (line 232)"
111
+ I, [2018-06-20T07:18:47.195863 #29057] INFO -- key.mach | derive_shell_identity_string | (line 87) : "### #####################################################################"
112
+ I, [2018-06-20T07:18:47.196201 #29057] INFO -- key.mach | derive_shell_identity_string | (line 90) : "Etc.getlogin() => apollo"
113
+ I, [2018-06-20T07:18:47.196249 #29057] INFO -- key.mach | derive_shell_identity_string | (line 91) : "Socket.gethostname() => warehouse"
114
+ I, [2018-06-20T07:18:47.196725 #29057] INFO -- key.mach | derive_shell_identity_string | (line 92) : "get_net_address_digits() => 192168014"
115
+ I, [2018-06-20T07:18:47.202494 #29057] INFO -- key.mach | derive_shell_identity_string | (line 93) : "derive_network_identity() => 20cf3067dec3"
116
+ I, [2018-06-20T07:18:47.205036 #29057] INFO -- key.mach | derive_shell_identity_string | (line 94) : "get_bootup_time_digits() => 20000556"
117
+ I, [2018-06-20T07:18:47.205133 #29057] INFO -- key.mach | derive_shell_identity_string | (line 95) : "Process.ppid.to_s() => 26314"
118
+ I, [2018-06-20T07:18:47.208112 #29057] INFO -- key.local | derive_session_crypt_key | (line 237) : "Shell Identity Str => 41362555000023ced7603fc02410861291esuoherawollopa"
119
+ I, [2018-06-20T07:18:47.208187 #29057] INFO -- key.local | derive_session_crypt_key | (line 238) : "Shell Id TxtLength => 49"
120
+ I, [2018-06-20T07:18:47.208237 #29057] INFO -- key.local | derive_session_crypt_key | (line 239) : "Truncate Shell Str => false"
121
+ I, [2018-06-20T07:18:47.208281 #29057] INFO -- key.local | derive_session_crypt_key | (line 240) : "Resulting IDString => 41362555000023ced7603fc02410861291esuoherawollopa"
122
+ I, [2018-06-20T07:18:51.466118 #29057] INFO -- key.local | regenerate_shell_key | (line 169) : "BCrypt Salt REGEND => mqM3yu.Bin.H.nh4l3cwoO"
123
+ I, [2018-06-20T07:18:51.466196 #29057] INFO -- key.local | regenerate_shell_key | (line 170) : "SessionToken REGEN => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZWOowc3l4hn.H.niB.uy3Mqm"
124
+ I, [2018-06-20T07:18:51.466235 #29057] INFO -- key.local | regenerate_shell_key | (line 171) : "Chopped Ciphertext => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZW"
125
+ I, [2018-06-20T07:18:51.466271 #29057] INFO -- key.local | regenerate_shell_key | (line 172) : "Obfuscate ShellKey => 011000011010001100100111011100011001011010011001110010100010101000000110011101011011011010010101110001001111000100110001011111110101101010101101011101101111100011101001010100000101"
126
+ I, [2018-06-20T07:18:51.466319 #29057] INFO -- key | do_decrypt_key | (line 476) : "### #####################################################################"
127
+ I, [2018-06-20T07:18:51.466355 #29057] INFO -- key | do_decrypt_key | (line 477) : "### Caller Details =>> =>> key.local | regenerate_shell_key | (line 174)"
128
+ I, [2018-06-20T07:18:51.466404 #29057] INFO -- key | do_decrypt_key | (line 478) : "### #####################################################################"
129
+ I, [2018-06-20T07:18:51.466442 #29057] INFO -- key | do_decrypt_key | (line 479) : "Amalgam of Binary Random IV and Ciphertext => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZW"
130
+ I, [2018-06-20T07:18:51.466483 #29057] INFO -- key | do_decrypt_key | (line 480) : "The Base64 Char representation of this key => 011000011010001100100111011100011001011010011001110010100010101000000110011101011011011010010101110001001111000100110001011111110101101010101101011101101111100011101001010100000101"
131
+ I, [2018-06-20T07:18:51.466554 #29057] INFO -- key | do_decrypt_key | (line 481) : "256bit Digest (Urlsafe Base64) of this key => hQvwy9Sm2PHSJ6AuDtl4dhOF1gKfR1ydKcNelRZzYu0="
132
+ I, [2018-06-20T07:18:51.467178 #29057] INFO -- key | do_decrypt_key | (line 496) : "The OutgoingKey Base64 Char representation => isbrxRc4eGC6gZjDfxT2sxkK4OHPvd6LR4Zar6ssZOA@NDxaM2ZzFxi7fDDa7xUh"
133
+ I, [2018-06-20T07:18:51.491154 #29057] INFO -- key | do_decrypt_key | (line 476) : "### #####################################################################"
134
+ I, [2018-06-20T07:18:51.491221 #29057] INFO -- key | do_decrypt_key | (line 477) : "### Caller Details =>> =>> key.api | read_app_content | (line 681)"
135
+ I, [2018-06-20T07:18:51.491258 #29057] INFO -- key | do_decrypt_key | (line 478) : "### #####################################################################"
136
+ I, [2018-06-20T07:18:51.491295 #29057] INFO -- key | do_decrypt_key | (line 479) : "Amalgam of Binary Random IV and Ciphertext => I0pI@5%OzdER4kPQWh6DvdkjyqAPG4j2Of%4tujb@yT@IXce1N5rk6UjZhG5ehQuLOEqV7hDvE5cHl1he4TnAWmVtw6XMwS%nuVj6%rHM3zacit%S5sns5A3oebaT0sY"
137
+ I, [2018-06-20T07:18:51.491331 #29057] INFO -- key | do_decrypt_key | (line 480) : "The Base64 Char representation of this key => 111111001001011111111000111101100001001100101110110100101000111001010011010111100101101001111100000100111101011110110101001001111101011000000101101110000110100010111110110011110001010011010000100001101110100101000000111000010011001001001001100101000110010001100100011001111100111101000000101100110101100101000111100111111101111111110010000100111100111100000000110010111101110110101101"
138
+ I, [2018-06-20T07:18:51.491382 #29057] INFO -- key | do_decrypt_key | (line 481) : "256bit Digest (Urlsafe Base64) of this key => OV2cJi1zcgvh_WJD0xld30i_Ovnhqs3bveNsmI1Z-tM="
139
+ I, [2018-06-20T07:18:51.491847 #29057] INFO -- key | do_decrypt_key | (line 496) : "The OutgoingKey Base64 Char representation => L81G0yQKLWFRTMq5Bi%5sTHzKZi5aVfYozcgHsQPH%foRvfX899ruybvzrmVN5tB"
140
+ I, [2018-06-20T07:18:51.510750 #29057] INFO -- key.local | regenerate_shell_key | (line 157) : "### #####################################################################"
141
+ I, [2018-06-20T07:18:51.510806 #29057] INFO -- key.local | regenerate_shell_key | (line 158) : "### Caller Details =>> =>> key.api | write_app_content | (line 753)"
142
+ I, [2018-06-20T07:18:51.510844 #29057] INFO -- key.local | regenerate_shell_key | (line 159) : "### #####################################################################"
143
+ I, [2018-06-20T07:18:51.511097 #29057] INFO -- key.mach | derive_shell_identity_string | (line 85) : "### #####################################################################"
144
+ I, [2018-06-20T07:18:51.511138 #29057] INFO -- key.mach | derive_shell_identity_string | (line 86) : "### Caller Details =>> =>> key.local | derive_session_crypt_key | (line 232)"
145
+ I, [2018-06-20T07:18:51.511176 #29057] INFO -- key.mach | derive_shell_identity_string | (line 87) : "### #####################################################################"
146
+ I, [2018-06-20T07:18:51.511265 #29057] INFO -- key.mach | derive_shell_identity_string | (line 90) : "Etc.getlogin() => apollo"
147
+ I, [2018-06-20T07:18:51.511311 #29057] INFO -- key.mach | derive_shell_identity_string | (line 91) : "Socket.gethostname() => warehouse"
148
+ I, [2018-06-20T07:18:51.511757 #29057] INFO -- key.mach | derive_shell_identity_string | (line 92) : "get_net_address_digits() => 192168014"
149
+ I, [2018-06-20T07:18:51.511963 #29057] INFO -- key.mach | derive_shell_identity_string | (line 93) : "derive_network_identity() => 20cf3067dec3"
150
+ I, [2018-06-20T07:18:51.514457 #29057] INFO -- key.mach | derive_shell_identity_string | (line 94) : "get_bootup_time_digits() => 20000556"
151
+ I, [2018-06-20T07:18:51.514538 #29057] INFO -- key.mach | derive_shell_identity_string | (line 95) : "Process.ppid.to_s() => 26314"
152
+ I, [2018-06-20T07:18:51.517561 #29057] INFO -- key.local | derive_session_crypt_key | (line 237) : "Shell Identity Str => 41362555000023ced7603fc02410861291esuoherawollopa"
153
+ I, [2018-06-20T07:18:51.517731 #29057] INFO -- key.local | derive_session_crypt_key | (line 238) : "Shell Id TxtLength => 49"
154
+ I, [2018-06-20T07:18:51.517810 #29057] INFO -- key.local | derive_session_crypt_key | (line 239) : "Truncate Shell Str => false"
155
+ I, [2018-06-20T07:18:51.517876 #29057] INFO -- key.local | derive_session_crypt_key | (line 240) : "Resulting IDString => 41362555000023ced7603fc02410861291esuoherawollopa"
156
+ I, [2018-06-20T07:18:55.697600 #29057] INFO -- key.local | regenerate_shell_key | (line 169) : "BCrypt Salt REGEND => mqM3yu.Bin.H.nh4l3cwoO"
157
+ I, [2018-06-20T07:18:55.697677 #29057] INFO -- key.local | regenerate_shell_key | (line 170) : "SessionToken REGEN => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZWOowc3l4hn.H.niB.uy3Mqm"
158
+ I, [2018-06-20T07:18:55.697718 #29057] INFO -- key.local | regenerate_shell_key | (line 171) : "Chopped Ciphertext => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZW"
159
+ I, [2018-06-20T07:18:55.697757 #29057] INFO -- key.local | regenerate_shell_key | (line 172) : "Obfuscate ShellKey => 011000011010001100100111011100011001011010011001110010100010101000000110011101011011011010010101110001001111000100110001011111110101101010101101011101101111100011101001010100000101"
160
+ I, [2018-06-20T07:18:55.697802 #29057] INFO -- key | do_decrypt_key | (line 476) : "### #####################################################################"
161
+ I, [2018-06-20T07:18:55.697840 #29057] INFO -- key | do_decrypt_key | (line 477) : "### Caller Details =>> =>> key.local | regenerate_shell_key | (line 174)"
162
+ I, [2018-06-20T07:18:55.697877 #29057] INFO -- key | do_decrypt_key | (line 478) : "### #####################################################################"
163
+ I, [2018-06-20T07:18:55.697914 #29057] INFO -- key | do_decrypt_key | (line 479) : "Amalgam of Binary Random IV and Ciphertext => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZW"
164
+ I, [2018-06-20T07:18:55.697952 #29057] INFO -- key | do_decrypt_key | (line 480) : "The Base64 Char representation of this key => 011000011010001100100111011100011001011010011001110010100010101000000110011101011011011010010101110001001111000100110001011111110101101010101101011101101111100011101001010100000101"
165
+ I, [2018-06-20T07:18:55.698009 #29057] INFO -- key | do_decrypt_key | (line 481) : "256bit Digest (Urlsafe Base64) of this key => hQvwy9Sm2PHSJ6AuDtl4dhOF1gKfR1ydKcNelRZzYu0="
166
+ I, [2018-06-20T07:18:55.698542 #29057] INFO -- key | do_decrypt_key | (line 496) : "The OutgoingKey Base64 Char representation => isbrxRc4eGC6gZjDfxT2sxkK4OHPvd6LR4Zar6ssZOA@NDxaM2ZzFxi7fDDa7xUh"
167
+ I, [2018-06-20T07:18:55.703247 #29057] INFO -- key | do_decrypt_key | (line 476) : "### #####################################################################"
168
+ I, [2018-06-20T07:18:55.703292 #29057] INFO -- key | do_decrypt_key | (line 477) : "### Caller Details =>> =>> key.api | write_app_content | (line 762)"
169
+ I, [2018-06-20T07:18:55.703329 #29057] INFO -- key | do_decrypt_key | (line 478) : "### #####################################################################"
170
+ I, [2018-06-20T07:18:55.703365 #29057] INFO -- key | do_decrypt_key | (line 479) : "Amalgam of Binary Random IV and Ciphertext => I0pI@5%OzdER4kPQWh6DvdkjyqAPG4j2Of%4tujb@yT@IXce1N5rk6UjZhG5ehQuLOEqV7hDvE5cHl1he4TnAWmVtw6XMwS%nuVj6%rHM3zacit%S5sns5A3oebaT0sY"
171
+ I, [2018-06-20T07:18:55.703403 #29057] INFO -- key | do_decrypt_key | (line 480) : "The Base64 Char representation of this key => 111111001001011111111000111101100001001100101110110100101000111001010011010111100101101001111100000100111101011110110101001001111101011000000101101110000110100010111110110011110001010011010000100001101110100101000000111000010011001001001001100101000110010001100100011001111100111101000000101100110101100101000111100111111101111111110010000100111100111100000000110010111101110110101101"
172
+ I, [2018-06-20T07:18:55.703451 #29057] INFO -- key | do_decrypt_key | (line 481) : "256bit Digest (Urlsafe Base64) of this key => OV2cJi1zcgvh_WJD0xld30i_Ovnhqs3bveNsmI1Z-tM="
173
+ I, [2018-06-20T07:18:55.703920 #29057] INFO -- key | do_decrypt_key | (line 496) : "The OutgoingKey Base64 Char representation => L81G0yQKLWFRTMq5Bi%5sTHzKZi5aVfYozcgHsQPH%foRvfX899ruybvzrmVN5tB"
174
+ I, [2018-06-20T07:19:49.826189 #29836] INFO -- key.local | regenerate_shell_key | (line 157) : "### #####################################################################"
175
+ I, [2018-06-20T07:19:49.826240 #29836] INFO -- key.local | regenerate_shell_key | (line 158) : "### Caller Details =>> =>> key.api | read_app_content | (line 672)"
176
+ I, [2018-06-20T07:19:49.826288 #29836] INFO -- key.local | regenerate_shell_key | (line 159) : "### #####################################################################"
177
+ I, [2018-06-20T07:19:49.826433 #29836] INFO -- key.mach | derive_shell_identity_string | (line 85) : "### #####################################################################"
178
+ I, [2018-06-20T07:19:49.826487 #29836] INFO -- key.mach | derive_shell_identity_string | (line 86) : "### Caller Details =>> =>> key.local | derive_session_crypt_key | (line 232)"
179
+ I, [2018-06-20T07:19:49.826530 #29836] INFO -- key.mach | derive_shell_identity_string | (line 87) : "### #####################################################################"
180
+ I, [2018-06-20T07:19:49.826871 #29836] INFO -- key.mach | derive_shell_identity_string | (line 90) : "Etc.getlogin() => apollo"
181
+ I, [2018-06-20T07:19:49.826938 #29836] INFO -- key.mach | derive_shell_identity_string | (line 91) : "Socket.gethostname() => warehouse"
182
+ I, [2018-06-20T07:19:49.827437 #29836] INFO -- key.mach | derive_shell_identity_string | (line 92) : "get_net_address_digits() => 192168014"
183
+ I, [2018-06-20T07:19:49.833311 #29836] INFO -- key.mach | derive_shell_identity_string | (line 93) : "derive_network_identity() => 20cf3067dec3"
184
+ I, [2018-06-20T07:19:49.835833 #29836] INFO -- key.mach | derive_shell_identity_string | (line 94) : "get_bootup_time_digits() => 20000555"
185
+ I, [2018-06-20T07:19:49.835924 #29836] INFO -- key.mach | derive_shell_identity_string | (line 95) : "Process.ppid.to_s() => 26314"
186
+ I, [2018-06-20T07:19:49.838730 #29836] INFO -- key.local | derive_session_crypt_key | (line 237) : "Shell Identity Str => 41362555000023ced7603fc02410861291esuoherawollopa"
187
+ I, [2018-06-20T07:19:49.838810 #29836] INFO -- key.local | derive_session_crypt_key | (line 238) : "Shell Id TxtLength => 49"
188
+ I, [2018-06-20T07:19:49.838850 #29836] INFO -- key.local | derive_session_crypt_key | (line 239) : "Truncate Shell Str => false"
189
+ I, [2018-06-20T07:19:49.838889 #29836] INFO -- key.local | derive_session_crypt_key | (line 240) : "Resulting IDString => 41362555000023ced7603fc02410861291esuoherawollopa"
190
+ I, [2018-06-20T07:19:54.110571 #29836] INFO -- key.local | regenerate_shell_key | (line 169) : "BCrypt Salt REGEND => mqM3yu.Bin.H.nh4l3cwoO"
191
+ I, [2018-06-20T07:19:54.110651 #29836] INFO -- key.local | regenerate_shell_key | (line 170) : "SessionToken REGEN => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZWOowc3l4hn.H.niB.uy3Mqm"
192
+ I, [2018-06-20T07:19:54.110690 #29836] INFO -- key.local | regenerate_shell_key | (line 171) : "Chopped Ciphertext => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZW"
193
+ I, [2018-06-20T07:19:54.110727 #29836] INFO -- key.local | regenerate_shell_key | (line 172) : "Obfuscate ShellKey => 011000011010001100100111011100011001011010011001110010100010101000000110011101011011011010010101110001001111000100110001011111110101101010101101011101101111100011101001010100000101"
194
+ I, [2018-06-20T07:19:54.110770 #29836] INFO -- key | do_decrypt_key | (line 476) : "### #####################################################################"
195
+ I, [2018-06-20T07:19:54.110806 #29836] INFO -- key | do_decrypt_key | (line 477) : "### Caller Details =>> =>> key.local | regenerate_shell_key | (line 174)"
196
+ I, [2018-06-20T07:19:54.110846 #29836] INFO -- key | do_decrypt_key | (line 478) : "### #####################################################################"
197
+ I, [2018-06-20T07:19:54.110882 #29836] INFO -- key | do_decrypt_key | (line 479) : "Amalgam of Binary Random IV and Ciphertext => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZW"
198
+ I, [2018-06-20T07:19:54.110926 #29836] INFO -- key | do_decrypt_key | (line 480) : "The Base64 Char representation of this key => 011000011010001100100111011100011001011010011001110010100010101000000110011101011011011010010101110001001111000100110001011111110101101010101101011101101111100011101001010100000101"
199
+ I, [2018-06-20T07:19:54.111008 #29836] INFO -- key | do_decrypt_key | (line 481) : "256bit Digest (Urlsafe Base64) of this key => hQvwy9Sm2PHSJ6AuDtl4dhOF1gKfR1ydKcNelRZzYu0="
200
+ I, [2018-06-20T07:19:54.111521 #29836] INFO -- key | do_decrypt_key | (line 496) : "The OutgoingKey Base64 Char representation => isbrxRc4eGC6gZjDfxT2sxkK4OHPvd6LR4Zar6ssZOA@NDxaM2ZzFxi7fDDa7xUh"
201
+ I, [2018-06-20T07:19:54.116264 #29836] INFO -- key | do_decrypt_key | (line 476) : "### #####################################################################"
202
+ I, [2018-06-20T07:19:54.116306 #29836] INFO -- key | do_decrypt_key | (line 477) : "### Caller Details =>> =>> key.api | read_app_content | (line 681)"
203
+ I, [2018-06-20T07:19:54.116342 #29836] INFO -- key | do_decrypt_key | (line 478) : "### #####################################################################"
204
+ I, [2018-06-20T07:19:54.116377 #29836] INFO -- key | do_decrypt_key | (line 479) : "Amalgam of Binary Random IV and Ciphertext => I0pI@5%OzdER4kPQWh6DvdkjyqAPG4j2Of%4tujb@yT@IXce1N5rk6UjZhG5ehQuLOEqV7hDvE5cHl1he4TnAWmVtw6XMwS%nuVj6%rHM3zacit%S5sns5A3oebaT0sY"
205
+ I, [2018-06-20T07:19:54.116415 #29836] INFO -- key | do_decrypt_key | (line 480) : "The Base64 Char representation of this key => 111111001001011111111000111101100001001100101110110100101000111001010011010111100101101001111100000100111101011110110101001001111101011000000101101110000110100010111110110011110001010011010000100001101110100101000000111000010011001001001001100101000110010001100100011001111100111101000000101100110101100101000111100111111101111111110010000100111100111100000000110010111101110110101101"
206
+ I, [2018-06-20T07:19:54.116466 #29836] INFO -- key | do_decrypt_key | (line 481) : "256bit Digest (Urlsafe Base64) of this key => OV2cJi1zcgvh_WJD0xld30i_Ovnhqs3bveNsmI1Z-tM="
207
+ I, [2018-06-20T07:19:54.116942 #29836] INFO -- key | do_decrypt_key | (line 496) : "The OutgoingKey Base64 Char representation => L81G0yQKLWFRTMq5Bi%5sTHzKZi5aVfYozcgHsQPH%foRvfX899ruybvzrmVN5tB"
208
+ I, [2018-06-20T07:19:54.167392 #29836] INFO -- key.local | regenerate_shell_key | (line 157) : "### #####################################################################"
209
+ I, [2018-06-20T07:19:54.167459 #29836] INFO -- key.local | regenerate_shell_key | (line 158) : "### Caller Details =>> =>> key.api | write_app_content | (line 753)"
210
+ I, [2018-06-20T07:19:54.167496 #29836] INFO -- key.local | regenerate_shell_key | (line 159) : "### #####################################################################"
211
+ I, [2018-06-20T07:19:54.167647 #29836] INFO -- key.mach | derive_shell_identity_string | (line 85) : "### #####################################################################"
212
+ I, [2018-06-20T07:19:54.167687 #29836] INFO -- key.mach | derive_shell_identity_string | (line 86) : "### Caller Details =>> =>> key.local | derive_session_crypt_key | (line 232)"
213
+ I, [2018-06-20T07:19:54.167727 #29836] INFO -- key.mach | derive_shell_identity_string | (line 87) : "### #####################################################################"
214
+ I, [2018-06-20T07:19:54.167816 #29836] INFO -- key.mach | derive_shell_identity_string | (line 90) : "Etc.getlogin() => apollo"
215
+ I, [2018-06-20T07:19:54.167865 #29836] INFO -- key.mach | derive_shell_identity_string | (line 91) : "Socket.gethostname() => warehouse"
216
+ I, [2018-06-20T07:19:54.168352 #29836] INFO -- key.mach | derive_shell_identity_string | (line 92) : "get_net_address_digits() => 192168014"
217
+ I, [2018-06-20T07:19:54.168549 #29836] INFO -- key.mach | derive_shell_identity_string | (line 93) : "derive_network_identity() => 20cf3067dec3"
218
+ I, [2018-06-20T07:19:54.171104 #29836] INFO -- key.mach | derive_shell_identity_string | (line 94) : "get_bootup_time_digits() => 20000556"
219
+ I, [2018-06-20T07:19:54.171176 #29836] INFO -- key.mach | derive_shell_identity_string | (line 95) : "Process.ppid.to_s() => 26314"
220
+ I, [2018-06-20T07:19:54.173953 #29836] INFO -- key.local | derive_session_crypt_key | (line 237) : "Shell Identity Str => 41362655000023ced7603fc02410861291esuoherawollopa"
221
+ I, [2018-06-20T07:19:54.174047 #29836] INFO -- key.local | derive_session_crypt_key | (line 238) : "Shell Id TxtLength => 49"
222
+ I, [2018-06-20T07:19:54.174095 #29836] INFO -- key.local | derive_session_crypt_key | (line 239) : "Truncate Shell Str => false"
223
+ I, [2018-06-20T07:19:54.174134 #29836] INFO -- key.local | derive_session_crypt_key | (line 240) : "Resulting IDString => 41362655000023ced7603fc02410861291esuoherawollopa"
224
+ I, [2018-06-20T07:19:58.420300 #29836] INFO -- key.local | regenerate_shell_key | (line 169) : "BCrypt Salt REGEND => mqM3yu.Bin.H.nh4l3cwoO"
225
+ I, [2018-06-20T07:19:58.420379 #29836] INFO -- key.local | regenerate_shell_key | (line 170) : "SessionToken REGEN => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZWOowc3l4hn.H.niB.uy3Mqm"
226
+ I, [2018-06-20T07:19:58.420419 #29836] INFO -- key.local | regenerate_shell_key | (line 171) : "Chopped Ciphertext => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZW"
227
+ I, [2018-06-20T07:19:58.420459 #29836] INFO -- key.local | regenerate_shell_key | (line 172) : "Obfuscate ShellKey => 100101011110110111001010011010110001110001110100001101011011011101011010101110101111001110001101011111101001000001011100001011100010000001111001011100110000110000111001101101110011"
228
+ I, [2018-06-20T07:19:58.420552 #29836] INFO -- key | do_decrypt_key | (line 476) : "### #####################################################################"
229
+ I, [2018-06-20T07:19:58.420592 #29836] INFO -- key | do_decrypt_key | (line 477) : "### Caller Details =>> =>> key.local | regenerate_shell_key | (line 174)"
230
+ I, [2018-06-20T07:19:58.420628 #29836] INFO -- key | do_decrypt_key | (line 478) : "### #####################################################################"
231
+ I, [2018-06-20T07:19:58.420663 #29836] INFO -- key | do_decrypt_key | (line 479) : "Amalgam of Binary Random IV and Ciphertext => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZW"
232
+ I, [2018-06-20T07:19:58.420699 #29836] INFO -- key | do_decrypt_key | (line 480) : "The Base64 Char representation of this key => 100101011110110111001010011010110001110001110100001101011011011101011010101110101111001110001101011111101001000001011100001011100010000001111001011100110000110000111001101101110011"
233
+ I, [2018-06-20T07:19:58.420753 #29836] INFO -- key | do_decrypt_key | (line 481) : "256bit Digest (Urlsafe Base64) of this key => fyOgOc8SjEb5IwztXDTlinUIXAuDvHVdr7QcFXz9JYw="
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+ ===================================================================================================================================================================================================
245
+ ===================================================================================================================================================================================================
246
+
247
+ I, [2018-06-20T07:16:31.020725 #27357] INFO -- key.local | generate_shell_key_and_token | (line 81) : "### #####################################################################"
248
+ I, [2018-06-20T07:16:31.020761 #27357] INFO -- key.local | generate_shell_key_and_token | (line 82) : "### Caller Details =>> =>> key | execute | (line 83)"
249
+ I, [2018-06-20T07:16:31.020799 #27357] INFO -- key.local | generate_shell_key_and_token | (line 83) : "### #####################################################################"
250
+ I, [2018-06-20T07:16:31.024921 #27357] INFO -- key.mach | derive_shell_identity_string | (line 85) : "### #####################################################################"
251
+ I, [2018-06-20T07:16:31.024971 #27357] INFO -- key.mach | derive_shell_identity_string | (line 86) : "### Caller Details =>> =>> key.local | derive_session_crypt_key | (line 232)"
252
+ I, [2018-06-20T07:16:31.025008 #27357] INFO -- key.mach | derive_shell_identity_string | (line 87) : "### #####################################################################"
253
+ I, [2018-06-20T07:16:31.025388 #27357] INFO -- key.mach | derive_shell_identity_string | (line 90) : "Etc.getlogin() => apollo"
254
+ I, [2018-06-20T07:16:31.025438 #27357] INFO -- key.mach | derive_shell_identity_string | (line 91) : "Socket.gethostname() => warehouse"
255
+ I, [2018-06-20T07:16:31.025920 #27357] INFO -- key.mach | derive_shell_identity_string | (line 92) : "get_net_address_digits() => 192168014"
256
+ I, [2018-06-20T07:16:31.031573 #27357] INFO -- key.mach | derive_shell_identity_string | (line 93) : "derive_network_identity() => 20cf3067dec3"
257
+ I, [2018-06-20T07:16:31.034135 #27357] INFO -- key.mach | derive_shell_identity_string | (line 94) : "get_bootup_time_digits() => 20000556"
258
+ I, [2018-06-20T07:16:31.034229 #27357] INFO -- key.mach | derive_shell_identity_string | (line 95) : "Process.ppid.to_s() => 26314"
259
+ I, [2018-06-20T07:16:31.037052 #27357] INFO -- key.local | derive_session_crypt_key | (line 237) : "Shell Identity Str => 41362555000023ced7603fc02410861291esuoherawollopa"
260
+ I, [2018-06-20T07:16:31.037138 #27357] INFO -- key.local | derive_session_crypt_key | (line 238) : "Shell Id TxtLength => 49"
261
+ I, [2018-06-20T07:16:31.037186 #27357] INFO -- key.local | derive_session_crypt_key | (line 239) : "Truncate Shell Str => false"
262
+ I, [2018-06-20T07:16:31.037222 #27357] INFO -- key.local | derive_session_crypt_key | (line 240) : "Resulting IDString => 41362555000023ced7603fc02410861291esuoherawollopa"
263
+
264
+ ===================================================================================================================================================================================================
265
+ ===================================================================================================================================================================================================
266
+
267
+ I, [2018-06-20T07:19:54.167392 #29836] INFO -- key.local | regenerate_shell_key | (line 157) : "### #####################################################################"
268
+ I, [2018-06-20T07:19:54.167459 #29836] INFO -- key.local | regenerate_shell_key | (line 158) : "### Caller Details =>> =>> key.api | write_app_content | (line 753)"
269
+ I, [2018-06-20T07:19:54.167496 #29836] INFO -- key.local | regenerate_shell_key | (line 159) : "### #####################################################################"
270
+ I, [2018-06-20T07:19:54.167647 #29836] INFO -- key.mach | derive_shell_identity_string | (line 85) : "### #####################################################################"
271
+ I, [2018-06-20T07:19:54.167687 #29836] INFO -- key.mach | derive_shell_identity_string | (line 86) : "### Caller Details =>> =>> key.local | derive_session_crypt_key | (line 232)"
272
+ I, [2018-06-20T07:19:54.167727 #29836] INFO -- key.mach | derive_shell_identity_string | (line 87) : "### #####################################################################"
273
+ I, [2018-06-20T07:19:54.167816 #29836] INFO -- key.mach | derive_shell_identity_string | (line 90) : "Etc.getlogin() => apollo"
274
+ I, [2018-06-20T07:19:54.167865 #29836] INFO -- key.mach | derive_shell_identity_string | (line 91) : "Socket.gethostname() => warehouse"
275
+ I, [2018-06-20T07:19:54.168352 #29836] INFO -- key.mach | derive_shell_identity_string | (line 92) : "get_net_address_digits() => 192168014"
276
+ I, [2018-06-20T07:19:54.168549 #29836] INFO -- key.mach | derive_shell_identity_string | (line 93) : "derive_network_identity() => 20cf3067dec3"
277
+ I, [2018-06-20T07:19:54.171104 #29836] INFO -- key.mach | derive_shell_identity_string | (line 94) : "get_bootup_time_digits() => 20000556"
278
+ I, [2018-06-20T07:19:54.171176 #29836] INFO -- key.mach | derive_shell_identity_string | (line 95) : "Process.ppid.to_s() => 26314"
279
+ I, [2018-06-20T07:19:54.173953 #29836] INFO -- key.local | derive_session_crypt_key | (line 237) : "Shell Identity Str => 41362655000023ced7603fc02410861291esuoherawollopa"
280
+ I, [2018-06-20T07:19:54.174047 #29836] INFO -- key.local | derive_session_crypt_key | (line 238) : "Shell Id TxtLength => 49"
281
+ I, [2018-06-20T07:19:54.174095 #29836] INFO -- key.local | derive_session_crypt_key | (line 239) : "Truncate Shell Str => false"
282
+ I, [2018-06-20T07:19:54.174134 #29836] INFO -- key.local | derive_session_crypt_key | (line 240) : "Resulting IDString => 41362655000023ced7603fc02410861291esuoherawollopa"
283
+ I, [2018-06-20T07:19:58.420300 #29836] INFO -- key.local | regenerate_shell_key | (line 169) : "BCrypt Salt REGEND => mqM3yu.Bin.H.nh4l3cwoO"
284
+ I, [2018-06-20T07:19:58.420379 #29836] INFO -- key.local | regenerate_shell_key | (line 170) : "SessionToken REGEN => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZWOowc3l4hn.H.niB.uy3Mqm"
285
+ I, [2018-06-20T07:19:58.420419 #29836] INFO -- key.local | regenerate_shell_key | (line 171) : "Chopped Ciphertext => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZW"
286
+ I, [2018-06-20T07:19:58.420459 #29836] INFO -- key.local | regenerate_shell_key | (line 172) : "Obfuscate ShellKey => 100101011110110111001010011010110001110001110100001101011011011101011010101110101111001110001101011111101001000001011100001011100010000001111001011100110000110000111001101101110011"
287
+ I, [2018-06-20T07:19:58.420552 #29836] INFO -- key | do_decrypt_key | (line 476) : "### #####################################################################"
288
+ I, [2018-06-20T07:19:58.420592 #29836] INFO -- key | do_decrypt_key | (line 477) : "### Caller Details =>> =>> key.local | regenerate_shell_key | (line 174)"
289
+ I, [2018-06-20T07:19:58.420628 #29836] INFO -- key | do_decrypt_key | (line 478) : "### #####################################################################"
290
+ I, [2018-06-20T07:19:58.420663 #29836] INFO -- key | do_decrypt_key | (line 479) : "Amalgam of Binary Random IV and Ciphertext => 57UDSB@NPq7f1cRgu7xNmjbiVSCVnUlZoU61kjdKsAKj9Xnh1JaR1QtCh4fSBY8vwCqprIYjd@OK3BQahKZwcVo2oW50pwppX7id9rs2srfYaWqmCSxSIVNRxqOPp1ZW"
291
+ I, [2018-06-20T07:19:58.420699 #29836] INFO -- key | do_decrypt_key | (line 480) : "The Base64 Char representation of this key => 100101011110110111001010011010110001110001110100001101011011011101011010101110101111001110001101011111101001000001011100001011100010000001111001011100110000110000111001101101110011"
292
+ I, [2018-06-20T07:19:58.420753 #29836] INFO -- key | do_decrypt_key | (line 481) : "256bit Digest (Urlsafe Base64) of this key => fyOgOc8SjEb5IwztXDTlinUIXAuDvHVdr7QcFXz9JYw="
293
+
294
+ ===================================================================================================================================================================================================
295
+ ===================================================================================================================================================================================================
@@ -12,9 +12,9 @@ require "session/user.home"
12
12
  #
13
13
  # include Logging
14
14
  # def doImportant
15
- # log.warn(ere) "unhappy about doing this"
15
+ # log.warn(x) "unhappy about doing this"
16
16
  # do_anyway
17
- # log.debug(ere) "all good it was okay"
17
+ # log.debug(x) "all good it was okay"
18
18
  # end
19
19
  #
20
20
  # So what are Mixins?
@@ -52,7 +52,7 @@ module OpenLogger
52
52
  #
53
53
  # - the [module] the logging call came from
54
54
  # - the [method] the logging call came from
55
- # - the [line number] the logging call is at
55
+ # - line number origins of the logging call
56
56
  #
57
57
  # To use this method you can make calls like this
58
58
  #
@@ -20,6 +20,26 @@ module OpenSecret
20
20
  # know whether the information is a password, a pin number or whatever
21
21
  # so it takes the integer minimum size at its word.
22
22
  #
23
+ # <b>Question 5 to App Config | What is the Secret?</b>
24
+ #
25
+ # The client may need to acquire the secret if the answer to question 4 indicates the need
26
+ # to instantiate the keys and encrypt the application's plaintext database. The application
27
+ # should facilitate communication of the secret via
28
+ #
29
+ # - an environment variable
30
+ # - the system clipboard (cleared after reading)
31
+ # - a file whose path is a command parameter
32
+ # - a file in a pre-agreed location
33
+ # - a file in the present directory (with a pre-agreed name)
34
+ # - a URL from a parameter or pre-agreed
35
+ # - the shell's secure password reader
36
+ # - the DConf / GConf or GSettings configuration stores
37
+ # - a REST API
38
+ # - password managers like LastPass, KeePassX or 1Pass
39
+ # - the Amazon KMS (Key Management Store)
40
+ # - vaults from Ansible, Terraform and Kubernetes
41
+ # - credential managers like GitSecrets and Credstash
42
+ #
23
43
  # @param min_size [Integer] the minimum size of the collected secret
24
44
  # whereby one (1) is the least we can expect. The maximum bound is
25
45
  # not constrained here so will fall under what is allowed by the
@@ -87,7 +87,7 @@ module OpenSession
87
87
 
88
88
 
89
89
  ############ require_relative "../cryptools/keygen"
90
- require_relative "../interprete/cmd"
90
+ require_relative "../usecase/cmd"
91
91
 
92
92
 
93
93
  gem_basepath = File.expand_path "..", gem_filepath
@@ -0,0 +1,417 @@
1
+ #!/usr/bin/ruby
2
+ # coding: utf-8
3
+
4
+ module OpenSecret
5
+
6
+ # The parent OpenSecret use case is designed to be extended by the cli
7
+ # (command line) use cases like {OpenSecret::Open}, {OpenSecret::Put} and
8
+ # {OpenSecret::Lock} because it describes behaviour common to at least two
9
+ # (but usually more) of the use cases.
10
+ #
11
+ # == Common Use Case Behaviour
12
+ #
13
+ # This {OpenSecret::Command} use case is designed to be extended and does preparatory
14
+ # work to create favourable and useful conditions to make use cases readable,
15
+ # less repetitive, simpler and concise.
16
+ #
17
+ # == Machine (Workstation) Configuration File
18
+ #
19
+ # The global configuration filepath is found off the home directory using {Dir.home}.
20
+ #
21
+ # ~/.opensecret.io/opensecret.io.configuration.ini
22
+ #
23
+ # The global configuration file in INI format is managed through the methods
24
+ #
25
+ # - {grab} read the value at key_name from the default section
26
+ # - {stash} put directive key/value pair in default section
27
+ # - {read} read the value at key_name from the parameter section
28
+ # - {write} put directive key/value pair in parameter section
29
+ class Command
30
+ =begin
31
+ # ---> rename from [Command] to [UseCase]
32
+ # ---> rename from [Command] to [UseCase]
33
+ # ---> rename from [Command] to [UseCase]
34
+ # ---> rename from [Command] to [UseCase]
35
+ # ---> rename from [Command] to [UseCase]
36
+ # ---> rename from [Command] to [UseCase]
37
+ =end
38
+
39
+ # The name of the environment variable that will hold the session token
40
+ # generated by {self.generate_session_token}. This environment variable
41
+ # is typically instantiated either manually (for ad-hoc use) or through
42
+ # media such as dot profile.
43
+ ENV_VAR_KEY_NAME = "OPEN_SESSION_TOKEN"
44
+
45
+
46
+ # If and when this command line credentials management app needs to write
47
+ # any configuration directives to the machine's userspace it will use this
48
+ # constant to denote the (off-home) directory name.
49
+ APP_DIR_NAME = "opensecret.io"
50
+
51
+ # The path to the initial configuration file below the user's home
52
+ # directory. The directory name the configuration file sits in is
53
+ # a dot prefixed context name derived from the value inside the
54
+ # {APP_DIR_NAME} constant.
55
+ #
56
+ # ~/.<<context-name>>/<<context-name>>-configuration.ini
57
+ #
58
+ # You can see the filename too is derived from the context with a
59
+ # trailing string ending in <b>.ini</b>.
60
+ #
61
+ # @return [String] full path to the context configuration file
62
+ def config_file
63
+ return File.join config_directory(), "#{APP_DIR_NAME}.configuration.ini"
64
+ end
65
+
66
+
67
+ # This method returns the absolute path to the directory that the
68
+ # configuration file sits in. It is basically just the dot prefixed
69
+ # context name (the {APP_DIR_NAME} constant).
70
+ #
71
+ # ~/.<<context-name>>
72
+ #
73
+ # @return [String] path to directory holding context configuration file
74
+ def config_directory
75
+ return File.join( Dir.home, ".#{APP_DIR_NAME}" )
76
+ end
77
+
78
+
79
+ # Execute the use cases's flow from beginning when
80
+ # you validate the input and parameters through the
81
+ # memorize, execute and the final cleanup.
82
+ def flow_of_events
83
+
84
+ check_pre_conditions
85
+ execute
86
+ cleanup
87
+ check_post_conditions
88
+
89
+ end
90
+
91
+
92
+ # Validate the input parameters and check that the current
93
+ # state is perfect for executing the use case.
94
+ #
95
+ # If either of the above fail - the validation function should
96
+ # set a human readable string and then throw an exception.
97
+ def check_pre_conditions
98
+
99
+
100
+ begin
101
+
102
+ pre_validation
103
+
104
+ rescue OpenError::CliError => e
105
+
106
+ puts ""
107
+ puts "Your command did not complete successfully."
108
+ puts "Pre validation checks failed."
109
+ puts ""
110
+ puts " => #{e.message}"
111
+ puts ""
112
+ abort e.message
113
+ end
114
+
115
+
116
+ end
117
+
118
+
119
+ # After the main flow of events certain state conditions
120
+ # must hold true thus demonstrating that the observable
121
+ # value has indeed ben delivered.
122
+ #
123
+ # Child classes should subclass this method and place any
124
+ # post execution (post condition) checks in it and then
125
+ # make a call to this method through the "super" keyword.
126
+ def check_post_conditions
127
+
128
+ begin
129
+
130
+ post_validation
131
+
132
+ rescue OpenError::CliError => e
133
+
134
+ puts ""
135
+ puts "Your command did not complete successfully."
136
+ puts "Post validation checks failed."
137
+ puts ""
138
+ puts " => #{e.message}"
139
+ #### puts " => #{e.culprit}"
140
+ puts ""
141
+ abort e.message
142
+ end
143
+
144
+ end
145
+
146
+
147
+ # Child classes should subclass this method and place any
148
+ # post execution (post condition) checks in it and then
149
+ # make a call to this method through the "super" keyword if
150
+ # this method gets any global behaviour in it worth calling.
151
+ def post_validation
152
+
153
+ end
154
+
155
+
156
+ # Execute the main flow of events of the use case. Any
157
+ # exceptions thrown are captured and if the instance
158
+ # variale [@human_readable_message] is set - tell the
159
+ # user about it. Without any message - just tell the
160
+ # user something went wrong and tell them where the logs
161
+ # are that might carry more information.
162
+ def execute
163
+
164
+ end
165
+
166
+
167
+ # If the use case validation went well, the memorization
168
+ # went well the
169
+ def cleanup
170
+
171
+ end
172
+
173
+
174
+ # This use case is initialized primary by resolving the configured
175
+ # +general and use case specific facts+. To access the general facts,
176
+ # a domain name is expected in the parameter delegated by the extension
177
+ # use case classes.
178
+ def initialize
179
+
180
+
181
+ class_name = self.class.name.downcase.split(":").last
182
+ is_pre_init_usecase = [ "safe", "store", "email" ].include? class_name
183
+ return if is_pre_init_usecase
184
+
185
+ @ucid_str = self.class.name.do_flatten
186
+ log.info(x) { "Usecase class [self.class.name] converted to => #{@ucid_str}" }
187
+ @ucid_sym = @ucid_str.gsub(".", "_").to_sym
188
+
189
+ OpenSession::FactFind.instance.instantiate @ucid_str
190
+ OpenSession::FactFind.instance.assimilate "facts.opensecret.io.ini"
191
+
192
+ @c = OpenSession::FactFind.instance.f
193
+ @i = OpenSession::FactFind.instance.i
194
+ @p = OpenSession::FactFind.instance.f[@ucid_sym]
195
+
196
+ log.info(x) { "assimilated [#{@p.length}] facts specific to the [#{@ucid_str}] use case." }
197
+
198
+ end
199
+
200
+
201
+ private
202
+
203
+
204
+ ENV_PATH = "env.path"
205
+ KEY_PATH = "key.path"
206
+ ENVELOPE_KEY_PREFIX = "envelope@"
207
+
208
+ LAST_ACCESSED = "last.accessed.time"
209
+
210
+ SESSION_DICT_LOCK_SIZE = 32
211
+
212
+ SESSION_DICT_LOCK_NAME = "crypted.session.dict.lock"
213
+
214
+ ENVELOPE_KEY_SIZE = 32
215
+
216
+ ENVELOPE_KEY_NAME = "crypted.envelope.key"
217
+
218
+ ENVELOPE_ID_SIZE = 16
219
+
220
+ ENVELOPE_ID_NAME = "crypted.envelope.id"
221
+
222
+ SESSION_ID_SIZE = 64
223
+
224
+ SESSION_FILENAME_ID_SIZE = 24
225
+
226
+ SESSION_START_TIMESTAMP_NAME = "session.creation.time"
227
+
228
+ MASTER_LOCK_KEY_NAME = "master.session.lock.key"
229
+
230
+ APPLICATION_GEM_NAME = "opensecret"
231
+ APPLICATION_GEM_WEBSITE = "https://www.devopswiki.co.uk"
232
+ APPLICATION_GITHUB_URL = "https://github.io/opensecret.io"
233
+
234
+
235
+ def create_header()
236
+
237
+ return OpenKey::KeyApi.format_header(
238
+ OpenSecret::VERSION,
239
+ APPLICATION_GEM_NAME,
240
+ APPLICATION_GITHUB_URL,
241
+ @domain_name
242
+ )
243
+
244
+ end
245
+
246
+
247
+
248
+ def ops_key_exists?
249
+
250
+ log_env()
251
+
252
+ if ( ENV.has_key? ENV_VAR_KEY_NAME )
253
+ return true
254
+ end
255
+
256
+ puts ""
257
+ puts "opensecret needs you to create a session key."
258
+ puts "To automate this step see the documentation."
259
+ puts "To create the key run the below command."
260
+ puts ""
261
+ puts " export OPEN_SESSION_TOKEN=`ops token`"
262
+ puts ""
263
+ puts "Those are backticks surrounding `ops token`"
264
+ puts "Not apostrophes."
265
+ puts ""
266
+
267
+ return false
268
+
269
+ end
270
+
271
+
272
+ def log_env()
273
+
274
+ log.info(x) { "Gem Root Folder => #{Gem.dir()}" }
275
+ log.info(x) { "Gem Config File => #{Gem.config_file()}" }
276
+ log.info(x) { "Gem Binary Path => #{Gem.default_bindir()}" }
277
+ log.info(x) { "Gem Host Path => #{Gem.host()}" }
278
+ log.info(x) { "Gem Spec Info => #{Gem.latest_spec_for(APPLICATION_GEM_NAME)}" }
279
+ log.info(x) { "Gem Spec Name => #{Gem.latest_spec_for(APPLICATION_GEM_NAME).name}" }
280
+ log.info(x) { "Gem Spec Version => #{Gem.latest_spec_for(APPLICATION_GEM_NAME).version}" }
281
+ log.info(x) { "Gem Caller Folder => #{Gem.location_of_caller()}" }
282
+ log.info(x) { "Gem Paths List => #{Gem.path()}" }
283
+ log.info(x) { "Gem Platforms => #{Gem.platforms()}" }
284
+ log.info(x) { "Gem Ruby Version X => #{Gem.ruby()}" }
285
+ log.info(x) { "Gem Ruby Version Y => #{Gem::VERSION}" }
286
+ log.info(x) { "Gem Ruby Version Z => #{Gem.latest_rubygems_version()}" }
287
+ log.info(x) { "Gem User Folder => #{Gem.user_dir()}" }
288
+ log.info(x) { "Gem User Home => #{Gem.user_home()}" }
289
+
290
+ return
291
+
292
+ end
293
+
294
+
295
+ def unopened_envelope?( key_database )
296
+
297
+ return false if key_database.has_key?( ENV_PATH )
298
+ print_unopened_envelope()
299
+ return true
300
+
301
+ end
302
+
303
+
304
+ def print_unopened_envelope()
305
+
306
+ puts ""
307
+ puts "Oops - before creating, reading or changing data you"
308
+ puts "must first open a path to it like this."
309
+ puts ""
310
+ puts " ops open email.accounts joe@gmail.com"
311
+ puts ""
312
+ puts " then you put data at that path"
313
+ puts ""
314
+ puts " ops put username joebloggs"
315
+ puts " ops put password jo3s-s3cr3t"
316
+ puts " ops put phone-no 07123456789"
317
+ puts " ops put question \"Mums maiden name\""
318
+ puts ""
319
+ puts " and why not read it back"
320
+ puts ""
321
+ puts " ops get password"
322
+ puts ""
323
+ puts " then close the path."
324
+ puts ""
325
+ puts " ops close"
326
+ puts ""
327
+
328
+ end
329
+
330
+
331
+ def print_already_logged_in
332
+
333
+ puts ""
334
+ puts "We are already logged in. Open a secret envelope, put, then seal."
335
+ puts ""
336
+ puts " ops open aws.credentials:s3reader"
337
+ puts " ops put access_key ABCD1234"
338
+ puts " ops put secret_key FGHIJ56789"
339
+ puts " ops put region_key eu-central-1"
340
+ puts " ops seal"
341
+ puts ""
342
+
343
+ end
344
+
345
+
346
+ def print_already_initialized
347
+
348
+ puts ""
349
+ puts "You can go ahead and login."
350
+ puts "Your domain [#{@domain_name}] is already setup."
351
+ puts "You should already know the password."
352
+ puts ""
353
+ puts " ops login #{@domain_name}"
354
+ puts ""
355
+
356
+ end
357
+
358
+
359
+ def print_domain_initialized
360
+
361
+ puts ""
362
+ puts "It is time to login."
363
+ puts "The protector keys for [#{@domain_name}] have been setup."
364
+ puts "From now on you simply login to use this domain."
365
+ puts ""
366
+ puts " ops login #{@domain_name}"
367
+ puts ""
368
+
369
+ end
370
+
371
+
372
+ def print_not_initialized
373
+
374
+ puts ""
375
+ puts "Please initialize the app domain on this machine."
376
+ puts "Give a domain name and a folder for key storage."
377
+ puts ""
378
+ puts " ops init <domain_name> \"$HOME/open.world\""
379
+ puts ""
380
+
381
+ end
382
+
383
+
384
+ def print_success_initializing
385
+
386
+ puts ""
387
+ puts "Success - now open a secret envelope, put, then seal."
388
+ puts ""
389
+ puts " ops open aws.credentials:s3reader"
390
+ puts " ops put access_key ABCD1234"
391
+ puts " ops put secret_key FGHIJ56789"
392
+ puts " ops put region_key eu-central-1"
393
+ puts " ops seal"
394
+ puts ""
395
+
396
+ end
397
+
398
+
399
+ def print_login_success
400
+
401
+ puts ""
402
+ puts "Success - you are logged in."
403
+ puts ""
404
+ puts " ops open aws.credentials:s3reader"
405
+ puts " ops put access_key ABCD1234"
406
+ puts " ops put secret_key FGHIJ56789"
407
+ puts " ops put region_key eu-central-1"
408
+ puts " ops seal"
409
+ puts ""
410
+
411
+ end
412
+
413
+
414
+ end
415
+
416
+
417
+ end