Open Firefox or Chrome to write to SSLKEYLOGFILE












1














I have exported a new user variable SSLKEYLOGFILE using the command:



export SSLKEYLOGFILE=($HOME)/sslkeylog.log


If I open Firefox or Chrome normally, no sslkeylog.log file is created (even if created, its empty even if I browse through ssl traffic through the browser). Is there a special terminal command to open the browsers with these features enabled? If yes then what?










share|improve this question





























    1














    I have exported a new user variable SSLKEYLOGFILE using the command:



    export SSLKEYLOGFILE=($HOME)/sslkeylog.log


    If I open Firefox or Chrome normally, no sslkeylog.log file is created (even if created, its empty even if I browse through ssl traffic through the browser). Is there a special terminal command to open the browsers with these features enabled? If yes then what?










    share|improve this question



























      1












      1








      1







      I have exported a new user variable SSLKEYLOGFILE using the command:



      export SSLKEYLOGFILE=($HOME)/sslkeylog.log


      If I open Firefox or Chrome normally, no sslkeylog.log file is created (even if created, its empty even if I browse through ssl traffic through the browser). Is there a special terminal command to open the browsers with these features enabled? If yes then what?










      share|improve this question















      I have exported a new user variable SSLKEYLOGFILE using the command:



      export SSLKEYLOGFILE=($HOME)/sslkeylog.log


      If I open Firefox or Chrome normally, no sslkeylog.log file is created (even if created, its empty even if I browse through ssl traffic through the browser). Is there a special terminal command to open the browsers with these features enabled? If yes then what?







      firefox google-chrome encryption ssl wireshark






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jul 9 at 17:26









      Codito ergo sum

      1,0872725




      1,0872725










      asked May 14 at 7:53









      BEWARB

      8411




      8411






















          2 Answers
          2






          active

          oldest

          votes


















          1














          Omit the parentheses



          If you execute export (without parameters) after your command, you will see that SSLKEYLOGFILE is set to (/home/username)/sslkeylog.log, which is not a valid path. Omit the parentheses:



          export SSLKEYLOGFILE=$HOME/sslkeylog.log


          "Normally" opened applications still won't see the environment variable



          According to the Bash Reference Manual:




          export [-fn] [-p] [name[=value]]

          Mark each name to be passed to child processes in the
          environment.[...]



          ...and similarly the dash manual:




           export name ...
          export -p
          The specified names are exported so that they will appear in the
          environment of subsequent commands.[...]



          ...the exported environment variable is only ever passed to subsequent commands in the same process or child processes. So if you open a terminal and execute the export SSLKEYLOGFILE... command, only applications (processes) that are spawned from the same terminal (or, more precisely, the same shell process within that terminal) will see the environment variable. If you run google-chrome(-stable) from that terminal, it will see the SSLKEYLOGFILE variable and write to the specified file.



          If you open google chrome via an application starter (which I assume you consider normal), it will not be a child process of the terminal and thus won't be aware of the SSLKEYLOGFILE variable.



          Also be aware that if chrome is already running, executing google-chrome-stable in a terminal will open a new window in the already running process. You can view the process tree by executing pstree in a terminal.



          Since this wasn't part of the question, I won't go into details here, but setting persistent environment variables, either session-wide or system-wide, is explained in the Ubuntu community wiki






          share|improve this answer





























            1














            i wanted to share with others, the solution noted above worked for me on ubuntu 18.10 using chrome



            you can launch a site from terminal, using



            $ google-chrome https://askubuntu.com/questions


            for me, i wanted to read a tcp conversation in wireshark.




            Key logs can be written by NSS so that external programs can decrypt TLS connections. Wireshark 1.6.0 and above can use these log files to decrypt packets. You can tell Wireshark where to find the key file via Edit→Preferences→Protocols→SSL→(Pre)-Master-Secret log filename.




            note, i did not try firefox. it might work, but i didn't want to spend time to figure it out. mozilla noted it is disabled by default for debian
            https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format



            since i am a new member the forum won't let me up-vote the solution.






            share|improve this answer





















              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "89"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1035991%2fopen-firefox-or-chrome-to-write-to-sslkeylogfile%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              1














              Omit the parentheses



              If you execute export (without parameters) after your command, you will see that SSLKEYLOGFILE is set to (/home/username)/sslkeylog.log, which is not a valid path. Omit the parentheses:



              export SSLKEYLOGFILE=$HOME/sslkeylog.log


              "Normally" opened applications still won't see the environment variable



              According to the Bash Reference Manual:




              export [-fn] [-p] [name[=value]]

              Mark each name to be passed to child processes in the
              environment.[...]



              ...and similarly the dash manual:




               export name ...
              export -p
              The specified names are exported so that they will appear in the
              environment of subsequent commands.[...]



              ...the exported environment variable is only ever passed to subsequent commands in the same process or child processes. So if you open a terminal and execute the export SSLKEYLOGFILE... command, only applications (processes) that are spawned from the same terminal (or, more precisely, the same shell process within that terminal) will see the environment variable. If you run google-chrome(-stable) from that terminal, it will see the SSLKEYLOGFILE variable and write to the specified file.



              If you open google chrome via an application starter (which I assume you consider normal), it will not be a child process of the terminal and thus won't be aware of the SSLKEYLOGFILE variable.



              Also be aware that if chrome is already running, executing google-chrome-stable in a terminal will open a new window in the already running process. You can view the process tree by executing pstree in a terminal.



              Since this wasn't part of the question, I won't go into details here, but setting persistent environment variables, either session-wide or system-wide, is explained in the Ubuntu community wiki






              share|improve this answer


























                1














                Omit the parentheses



                If you execute export (without parameters) after your command, you will see that SSLKEYLOGFILE is set to (/home/username)/sslkeylog.log, which is not a valid path. Omit the parentheses:



                export SSLKEYLOGFILE=$HOME/sslkeylog.log


                "Normally" opened applications still won't see the environment variable



                According to the Bash Reference Manual:




                export [-fn] [-p] [name[=value]]

                Mark each name to be passed to child processes in the
                environment.[...]



                ...and similarly the dash manual:




                 export name ...
                export -p
                The specified names are exported so that they will appear in the
                environment of subsequent commands.[...]



                ...the exported environment variable is only ever passed to subsequent commands in the same process or child processes. So if you open a terminal and execute the export SSLKEYLOGFILE... command, only applications (processes) that are spawned from the same terminal (or, more precisely, the same shell process within that terminal) will see the environment variable. If you run google-chrome(-stable) from that terminal, it will see the SSLKEYLOGFILE variable and write to the specified file.



                If you open google chrome via an application starter (which I assume you consider normal), it will not be a child process of the terminal and thus won't be aware of the SSLKEYLOGFILE variable.



                Also be aware that if chrome is already running, executing google-chrome-stable in a terminal will open a new window in the already running process. You can view the process tree by executing pstree in a terminal.



                Since this wasn't part of the question, I won't go into details here, but setting persistent environment variables, either session-wide or system-wide, is explained in the Ubuntu community wiki






                share|improve this answer
























                  1












                  1








                  1






                  Omit the parentheses



                  If you execute export (without parameters) after your command, you will see that SSLKEYLOGFILE is set to (/home/username)/sslkeylog.log, which is not a valid path. Omit the parentheses:



                  export SSLKEYLOGFILE=$HOME/sslkeylog.log


                  "Normally" opened applications still won't see the environment variable



                  According to the Bash Reference Manual:




                  export [-fn] [-p] [name[=value]]

                  Mark each name to be passed to child processes in the
                  environment.[...]



                  ...and similarly the dash manual:




                   export name ...
                  export -p
                  The specified names are exported so that they will appear in the
                  environment of subsequent commands.[...]



                  ...the exported environment variable is only ever passed to subsequent commands in the same process or child processes. So if you open a terminal and execute the export SSLKEYLOGFILE... command, only applications (processes) that are spawned from the same terminal (or, more precisely, the same shell process within that terminal) will see the environment variable. If you run google-chrome(-stable) from that terminal, it will see the SSLKEYLOGFILE variable and write to the specified file.



                  If you open google chrome via an application starter (which I assume you consider normal), it will not be a child process of the terminal and thus won't be aware of the SSLKEYLOGFILE variable.



                  Also be aware that if chrome is already running, executing google-chrome-stable in a terminal will open a new window in the already running process. You can view the process tree by executing pstree in a terminal.



                  Since this wasn't part of the question, I won't go into details here, but setting persistent environment variables, either session-wide or system-wide, is explained in the Ubuntu community wiki






                  share|improve this answer












                  Omit the parentheses



                  If you execute export (without parameters) after your command, you will see that SSLKEYLOGFILE is set to (/home/username)/sslkeylog.log, which is not a valid path. Omit the parentheses:



                  export SSLKEYLOGFILE=$HOME/sslkeylog.log


                  "Normally" opened applications still won't see the environment variable



                  According to the Bash Reference Manual:




                  export [-fn] [-p] [name[=value]]

                  Mark each name to be passed to child processes in the
                  environment.[...]



                  ...and similarly the dash manual:




                   export name ...
                  export -p
                  The specified names are exported so that they will appear in the
                  environment of subsequent commands.[...]



                  ...the exported environment variable is only ever passed to subsequent commands in the same process or child processes. So if you open a terminal and execute the export SSLKEYLOGFILE... command, only applications (processes) that are spawned from the same terminal (or, more precisely, the same shell process within that terminal) will see the environment variable. If you run google-chrome(-stable) from that terminal, it will see the SSLKEYLOGFILE variable and write to the specified file.



                  If you open google chrome via an application starter (which I assume you consider normal), it will not be a child process of the terminal and thus won't be aware of the SSLKEYLOGFILE variable.



                  Also be aware that if chrome is already running, executing google-chrome-stable in a terminal will open a new window in the already running process. You can view the process tree by executing pstree in a terminal.



                  Since this wasn't part of the question, I won't go into details here, but setting persistent environment variables, either session-wide or system-wide, is explained in the Ubuntu community wiki







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered May 14 at 10:16









                  danzel

                  1,627712




                  1,627712

























                      1














                      i wanted to share with others, the solution noted above worked for me on ubuntu 18.10 using chrome



                      you can launch a site from terminal, using



                      $ google-chrome https://askubuntu.com/questions


                      for me, i wanted to read a tcp conversation in wireshark.




                      Key logs can be written by NSS so that external programs can decrypt TLS connections. Wireshark 1.6.0 and above can use these log files to decrypt packets. You can tell Wireshark where to find the key file via Edit→Preferences→Protocols→SSL→(Pre)-Master-Secret log filename.




                      note, i did not try firefox. it might work, but i didn't want to spend time to figure it out. mozilla noted it is disabled by default for debian
                      https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format



                      since i am a new member the forum won't let me up-vote the solution.






                      share|improve this answer


























                        1














                        i wanted to share with others, the solution noted above worked for me on ubuntu 18.10 using chrome



                        you can launch a site from terminal, using



                        $ google-chrome https://askubuntu.com/questions


                        for me, i wanted to read a tcp conversation in wireshark.




                        Key logs can be written by NSS so that external programs can decrypt TLS connections. Wireshark 1.6.0 and above can use these log files to decrypt packets. You can tell Wireshark where to find the key file via Edit→Preferences→Protocols→SSL→(Pre)-Master-Secret log filename.




                        note, i did not try firefox. it might work, but i didn't want to spend time to figure it out. mozilla noted it is disabled by default for debian
                        https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format



                        since i am a new member the forum won't let me up-vote the solution.






                        share|improve this answer
























                          1












                          1








                          1






                          i wanted to share with others, the solution noted above worked for me on ubuntu 18.10 using chrome



                          you can launch a site from terminal, using



                          $ google-chrome https://askubuntu.com/questions


                          for me, i wanted to read a tcp conversation in wireshark.




                          Key logs can be written by NSS so that external programs can decrypt TLS connections. Wireshark 1.6.0 and above can use these log files to decrypt packets. You can tell Wireshark where to find the key file via Edit→Preferences→Protocols→SSL→(Pre)-Master-Secret log filename.




                          note, i did not try firefox. it might work, but i didn't want to spend time to figure it out. mozilla noted it is disabled by default for debian
                          https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format



                          since i am a new member the forum won't let me up-vote the solution.






                          share|improve this answer












                          i wanted to share with others, the solution noted above worked for me on ubuntu 18.10 using chrome



                          you can launch a site from terminal, using



                          $ google-chrome https://askubuntu.com/questions


                          for me, i wanted to read a tcp conversation in wireshark.




                          Key logs can be written by NSS so that external programs can decrypt TLS connections. Wireshark 1.6.0 and above can use these log files to decrypt packets. You can tell Wireshark where to find the key file via Edit→Preferences→Protocols→SSL→(Pre)-Master-Secret log filename.




                          note, i did not try firefox. it might work, but i didn't want to spend time to figure it out. mozilla noted it is disabled by default for debian
                          https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format



                          since i am a new member the forum won't let me up-vote the solution.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Dec 11 at 12:15









                          Mark

                          111




                          111






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Ask Ubuntu!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.





                              Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                              Please pay close attention to the following guidance:


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1035991%2fopen-firefox-or-chrome-to-write-to-sslkeylogfile%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              flock() on closed filehandle LOCK_FILE at /usr/bin/apt-mirror

                              Mangá

                               ⁒  ․,‪⁊‑⁙ ⁖, ⁇‒※‌, †,⁖‗‌⁝    ‾‸⁘,‖⁔⁣,⁂‾
”‑,‥–,‬ ,⁀‹⁋‴⁑ ‒ ,‴⁋”‼ ⁨,‷⁔„ ‰′,‐‚ ‥‡‎“‷⁃⁨⁅⁣,⁔
⁇‘⁔⁡⁏⁌⁡‿‶‏⁨ ⁣⁕⁖⁨⁩⁥‽⁀  ‴‬⁜‟ ⁃‣‧⁕‮ …‍⁨‴ ⁩,⁚⁖‫ ,‵ ⁀,‮⁝‣‣ ⁑  ⁂– ․, ‾‽ ‏⁁“⁗‸ ‾… ‹‡⁌⁎‸‘ ‡⁏⁌‪ ‵⁛ ‎⁨ ―⁦⁤⁄⁕