opensecret 0.0.988 → 0.0.9925
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/README.md +56 -159
- data/bin/opensecret +2 -2
- data/bin/ops +17 -2
- data/lib/extension/string.rb +14 -16
- data/lib/{interpreter.rb → interprete.rb} +53 -29
- data/lib/keytools/binary.map.rb +49 -0
- data/lib/keytools/kdf.api.rb +249 -0
- data/lib/keytools/kdf.bcrypt.rb +64 -29
- data/lib/keytools/kdf.pbkdf2.rb +92 -83
- data/lib/keytools/kdf.scrypt.rb +190 -0
- data/lib/keytools/key.64.rb +326 -0
- data/lib/keytools/key.algo.rb +109 -0
- data/lib/keytools/key.api.rb +1281 -0
- data/lib/keytools/key.db.rb +265 -0
- data/lib/keytools/{key.module.rb → key.docs.rb} +55 -0
- data/lib/keytools/key.error.rb +110 -0
- data/lib/keytools/key.id.rb +271 -0
- data/lib/keytools/key.iv.rb +107 -0
- data/lib/keytools/key.local.rb +265 -0
- data/lib/keytools/key.mach.rb +248 -0
- data/lib/keytools/key.now.rb +402 -0
- data/lib/keytools/key.pair.rb +259 -0
- data/lib/keytools/key.pass.rb +120 -0
- data/lib/keytools/key.rb +428 -298
- data/lib/keytools/keydebug.txt +295 -0
- data/lib/logging/gem.logging.rb +3 -3
- data/lib/modules/cryptology/collect.rb +20 -0
- data/lib/session/require.gem.rb +1 -1
- data/lib/usecase/cmd.rb +417 -0
- data/lib/usecase/id.rb +36 -0
- data/lib/usecase/import.rb +174 -0
- data/lib/usecase/init.rb +78 -0
- data/lib/usecase/login.rb +70 -0
- data/lib/usecase/logout.rb +30 -0
- data/lib/usecase/open.rb +126 -0
- data/lib/{interprete → usecase}/put.rb +100 -47
- data/lib/usecase/read.rb +89 -0
- data/lib/{interprete → usecase}/safe.rb +0 -0
- data/lib/{interprete → usecase}/set.rb +0 -0
- data/lib/usecase/token.rb +111 -0
- data/lib/{interprete → usecase}/use.rb +0 -0
- data/lib/version.rb +1 -1
- data/opensecret.gemspec +4 -3
- metadata +39 -33
- data/lib/exception/cli.error.rb +0 -53
- data/lib/exception/errors/cli.errors.rb +0 -31
- data/lib/interprete/begin.rb +0 -232
- data/lib/interprete/cmd.rb +0 -621
- data/lib/interprete/export.rb +0 -163
- data/lib/interprete/init.rb +0 -205
- data/lib/interprete/key.rb +0 -119
- data/lib/interprete/open.rb +0 -148
- data/lib/interprete/seal.rb +0 -129
- data/lib/keytools/digester.rb +0 -245
- data/lib/keytools/key.data.rb +0 -227
- data/lib/keytools/key.derivation.rb +0 -341
- data/lib/modules/mappers/collateral.rb +0 -282
- data/lib/modules/mappers/envelope.rb +0 -127
- data/lib/modules/mappers/settings.rb +0 -170
- data/lib/notepad/scratch.pad.rb +0 -224
- 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
|
+
===================================================================================================================================================================================================
|
data/lib/logging/gem.logging.rb
CHANGED
@@ -12,9 +12,9 @@ require "session/user.home"
|
|
12
12
|
#
|
13
13
|
# include Logging
|
14
14
|
# def doImportant
|
15
|
-
# log.warn(
|
15
|
+
# log.warn(x) "unhappy about doing this"
|
16
16
|
# do_anyway
|
17
|
-
# log.debug(
|
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
|
-
# -
|
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
|
data/lib/session/require.gem.rb
CHANGED
data/lib/usecase/cmd.rb
ADDED
@@ -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
|