Coder Social home page Coder Social logo

gavinhungry / cipherfox Goto Github PK

View Code? Open in Web Editor NEW
35.0 35.0 9.0 142 KB

:fox_face: Displays the current SSL/TLS cipher, protocol and certificate chain in the Firefox Add-on bar and Site ID dialog

Home Page: https://addons.mozilla.org/en-US/firefox/addon/cipherfox/

License: Mozilla Public License 2.0

JavaScript 90.81% CSS 9.19%

cipherfox's People

Contributors

cai0407 avatar evilpie avatar gavinhungry avatar herczegzsolt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cipherfox's Issues

Enhancement: Formatting string variable for cert. issuance date

I think it would be worth it to add to the list of formatting string variables one that allow the display of the current certificate's "issued on" date, as a complement to a certificate's expiration date, especially in the aftermath of the "Heartbleed" OpenSSL bug.
Thanks in advance for the consideration.

Not working with Aurora 33 and Nightly 34

With Aurora 33 or Nightly 34, Cipherfox does not appear on addon bar or site identification dialog.
Any errors are not recorded on Browser Console.

With Beta 32, Cipherfox works well.

Add short date options

The long date strings ($CERTISSUED, $CERTEXP) can take up too much space depending on locale.

Proper Firefox 4+ widget

CipherFox still uses an entry in the old status bar, which you have to install one or more extensions to get back in modern releases of Firefox. (Or, if there is a Firefox 4+ widget, it's well-hidden.)

This is one of the very last extensions I have installed that doesn't have its own widget or widgets for Firefox 4+. The "Show CipherFox in Add-ons Bar" option is promising, but actually toggles whether it appears in the legacy status bar (if it exists at all).

Cipherfox with partial https

Cipherfox menu does not show up when firefox warns me about partial https. This happens when http content included in the https page. I think chipherfox menu should be visible in this case too, as the certificate chain still could contain important information.

How to reproduce: Go to a page with partial https, look for the chipherfox menu.
Example page: https://www.ssllabs.com/ssltest/viewMyClient.html (This is a partial https page because of the test files.)

Add support for TLS 1.3 protocol

I'm using Cipherfox on Pale Moon. With v27.4.0, TLS 1.3 was added to the browser, which shows up as a "?" in the extension. Could you please add TLS 1.3 support?

$PROTOCOL does not corresponds to actual TLS/SSL protocol

$PROTOCOL seems to refer prefix "TLS" or "SSL" of cipher suites.
However, these prefix does not correspond to actual protocol.

ex. TLS 1.0 connection (security.tls.version.max = 1 and security.tls.version.min = 1) to github.com shows "SSL_RSA_WITH_RC4_128_SHA".

Difference between prefix "SSL" and "TLS" is just the definition in NSS, not actual TLS/SSL connection.
http://hg.mozilla.org/mozilla-central/file/70f21fad60a4/security/nss/lib/ssl/ssl3con.c#l291

Old cipher suites which defined in SSL 3.0 (RSA key exchange with RC4, 3DES etc.) have "SSL" prefix even used in TLS connection.
ex.
{SSL_RSA_WITH_RC4_128_MD5, cipher_rc4, mac_md5, kea_rsa},
{SSL_RSA_WITH_RC4_128_SHA, cipher_rc4, mac_sha, kea_rsa},
{SSL_RSA_WITH_3DES_EDE_CBC_SHA, cipher_3des, mac_sha, kea_rsa},

New cipher suites which added with TLS 1.0 or later (AES, ECC key exchange, forward secrecy etc.) have "TLS" prefix.
ex.
{TLS_RSA_WITH_AES_128_CBC_SHA, cipher_aes_128, mac_sha, kea_rsa}
{TLS_DHE_RSA_WITH_AES_128_CBC_SHA, cipher_aes_128, mac_sha, kea_dhe_rsa}
{TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, cipher_aes_128, mac_sha, kea_ecdhe_rsa}

Youtube rc4

Hi guys,

I can't play youtube videos while RC4 is disabled. Its really annoying to enable it everytime. Would it be possible to add a whitelist for websites which are allowed to use RC4?

Showing SSL or TLS information.

CipherFox add-on does not provide whether current connection to a secure server is using SSL or TLS! It's very easy to see such information in IE, Can we expect that in future versions?

"Disable RC4 cipher" does not work on Firefox 28 Nightly

By bug 934663 (https://bugzilla.mozilla.org/show_bug.cgi?id=934663), all prefs related to cipher suites (security.ssl3.*) are hidden from about:config on Fx Nightly.
Because of this change, "Disable RC4 cipher" function of Cipherfox (it seems to be just change boolean from true to false) does not work on Nightly.
We need create each prefs and set them to false.

Current Nightly enables these 4 RC4-suites.

  • security.ssl3.ecdhe_ecdsa_rc4_128_sha (TLS_ECDHE_ECDSA_WITH_RC4_128_SHA)
  • security.ssl3.ecdhe_rsa_rc4_128_sha (TLS_ECDHE_RSA_WITH_RC4_128_SHA)
  • security.ssl3.rsa_rc4_128_sha (TLS_RSA_WITH_RC4_128_SHA)
  • security.ssl3.rsa_rc4_128_md5 (TLS_RSA_WITH_RC4_128_MD5)

These 2 cuites enabled in ESRs, Release, Beta, and Aurora have been disabled on Nightly.

  • security.ssl3.ecdh_ecdsa_rc4_128_sha (TLS_ECDH_ECDSA_WITH_RC4_128_SHA)
  • security.ssl3.ecdh_rsa_rc4_128_sha (TLS_ECDH_RSA_WITH_RC4_128_SHA)

Make statusbar item moveable

Can you please make the statusbar icon moveable?
Here is a screenshot which show the customize option and the Cipherfox item isn't moveable (in Pale Moon 25.8.0 x64)

cipherfox_statusbar

Key Exchange Methods

This may be somewhat redundant with #3, but I'll ask anyway, as I am not quite sure what the result of #3 will look like:

It would be awesome if you could add a placeholder for the key exchange mechanism (RSA, DH*, ...), once that is possible. It's my hobby to check if a website is using a SSL mode with forward secrecy (Diffie-Hellmann) and write angry mails if they are not, and this is very easy in chrome (as they have a nice text explaining the used encryption algorithm, message authentication and key exchange mechanism), but currently almost impossible with firefox.

RC4 disabling seems to break video in youtube

It seems your extention removes RC4 certs and thus breaking ssl video display in youtube (site loads but video gets a "Error occured" like: https://support.google.com/youtube/answer/3037019?p=player_error1&rd=1 ).

After going Extras - "RC4 enable" and reloading https://www.youtube.com the video plays well, similar problems with manual pref settings: https://support.mozilla.org/de/questions/990082

Not using https at all the video plays well and also after uninstalling your extention https on youtube also plays well, so it seems you set some prefs not to enable RC4?

Together with not beeing able to change Prefs in Firefox 24.5 ESR this is quite an odd problem

Possible to show complete cipher name?

Is it possible to decode the exact cipher in use from its 4 byte code?
Not sure if this information is accessible via an add-on.

ie. RC4 is not just RC4

there is
SSL_RSA_WITH_RC4_128_MD5
SSL_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_SHA
TLS_DHE_DSS_WITH_RC4_128_SHA

If storing all the strings is too much, at least allow the two byte (four hex) code to be shown via the string variable option.

ie. $CIPHERID $CIPHERNAME

Update for Firefox 57 support

Marked as a Legacy extension in Firefox 57 and cannot be enabled. Please update for Firefox 57! Love this extension

WebExtensions Support

This is a very useful extension, so I would hate to see its demise in later Firefox versions. Is it possible to re-implement the extension with the WebExtension API? It won't be able to reside in the convenient place where it does not (in the SSL dropdown in the URL bar), but at least it will be able to provide the detailed SSL info somewhere.

Remove "(Firefox XX+)" from cipherSuite.label and protocol.label

Now, cipherSuite.label and protocol.label in pref.dtd have annotations about available Firefox version.

<!ENTITY cipherSuite.label "Full Cipher Suite (Firefox 25+)">
<!ENTITY protocol.label    "Protocol Version (Firefox 36+)">

I think it is good time to remove these annotations because Firefox 31 ESR has been EOLed and support for Pale Moon has been added.

other than ja-JP;

<!ENTITY cipherSuite.label "Full Cipher Suite">
<!ENTITY protocol.label    "Protocol Version">

ja-JP;

<!ENTITY cipherSuite.label "完全な Cipher Suite">
<!ENTITY protocol.label    "プロトコルバージョン">

Add support for e10s

Dear add-on developer,

You might have heard the news[1] that future versions of Firefox will run the browser UI separately from web content. This is called Multi-process Firefox (also "Electrolysis" or "e10s")[2], and it is scheduled for release in the first quarter of 2016[3].

If your add-on code accesses web content directly, using an overlay extension[4], a bootstrapped extension[5], or low-level SDK APIs[6] like window/utils or tabs/utils, then you will probably be affected.

To minimize the impact on users of your add-ons, we are urging you to test your add-ons[7] for compatibility. You can find documentation on how to make them compatible here[8].

Starting Nov. 24, 2015, we are available to assist you every Tuesday in the #addons channel on irc.mozilla.org[9]. Click here[10] to see the schedule. Whether you need help testing or making your add-ons compatible, we're here to help!

Sincerely,
The Add-ons Team

[1] https://blog.mozilla.org/addons/2015/08/21/the-future-of-developing-firefox-add-ons/
[2] https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox
[3] https://wiki.mozilla.org/Electrolysis#Schedule
[4] https://developer.mozilla.org/en-US/Add-ons/Overlay_Extensions
[5] https://developer.mozilla.org/en-US/Add-ons/Bootstrapped_extensions
[6] https://developer.mozilla.org/en-US/Add-ons/SDK/Low-Level_APIs
[7] https://developer.mozilla.org/en-US/Add-ons/Working_with_multiprocess_Firefox#Testing
[8] https://developer.mozilla.org/en-US/Add-ons/Working_with_multiprocess_Firefox#Updating_your_code
[9] irc://irc.mozilla.org/addons
[10] https://atsay.github.io/e10s_office_hours/

Remove RC4-Option

Firefox ESR 38.8 is the last release which supports RC4-fallback by default and will update to ESR 45.2 next week, where this option has no effect any more.

Perhaps you could replace this with an option to block mixed-content pictures (toggle pref 'security.mixed_content.block_display_content'.

extension causes long pause when using self-signed ssl certificate

After some trial and error I hunted down a long delay caused by cipherfox.

I use several personal sites with a self-signed SSL certificate and out of laziness I just use a generic domains (ie. "example.com" or "localhost") as the certificate domain.

I didn't experience this bug with FF28 but with FF30 and FF31 there is a long delay before loading the page and more importantly, there is a long delay just switching back and forth to the tab with the page that has the https and self-signed cert.

No problem with sites using real certificates.

Disabling cipherfox completely eliminates the delay with page load/tab switching.

It is trying to access the fake domain? Is it not caching the result between tabs?

Maybe a temporarily workaround could be not to try to access "localhost" or "127.0.0.1"

Certificate chain

The certificate chain seems to miss the root certificate. For example, while editing this report I see "RC4 128-bit" on the cipher field, and when I click it, I would expect:

GTE Corporation (RSA 1024-bit: MD5)
DigiCert Inc (RSA 2048-bit: SHA1)
DigiCert Inc (RSA 2048-bit: SHA1)
GitHub, Inc. (RSA 2048-bit: SHA1)

Instead, I only get:

DigiCert Inc (RSA 2048-bit: SHA1)
DigiCert Inc (RSA 2048-bit: SHA1)
GitHub, Inc. (RSA 2048-bit: SHA1)

In addition, I'd display the CommonName, rather than the Organization, for the $CERTORG and $CERTISSUER fields, because it is usually more significant. Note also that the certificate's detail window displays CN: Consistency may improve understanding, IMHO.

Thanks
Ale

"Qualys SSL Labs Server Test" does not work on Fx 51+

Here is an error log in browser console.

TypeError: gBrowser.contentDocument is null    cipherfox.js:475:1

 CipherFox.testDomain                          chrome://cipherfox/content/cipherfox.js:475:1

 oncommand                                     chrome://browser/content/browser.xul:1:1

Not working with Firefox ESR

ESR 24.5.0, Linux x86_64:

[17:44:58.125] ReferenceError: Cc is not defined @ chrome://cipherfox/content/prefs.js:11
[17:44:59.994] TypeError: CipherFox_prefs.baseFormat is undefined @ chrome://cipherfox/content/prefs.xul:1
[17:45:00.450] TypeError: CipherFox_prefs.certFormat is undefined @ chrome://cipherfox/content/prefs.xul:1
[17:45:02.260] TypeError: this.prompt is undefined @ chrome://cipherfox/content/prefs.js:20

Site ID dialog width is not enough

Firefox 41.0b5 without Cipherfox 3.12.0:
2

Firefox 41.0b5 with Cipherfox 3.12.0:
1

Buttons to show connection information and "details" are not shown...

Some strings currently not localized

Currently, the prefs description for $CIPHERSUITE and $PROTOCOL are not localized. There may be more new strings as new properties are exposed as pulled from cipher suite, which will also require localization.

Error thrown with cipherfox 4.1.1 in Pale Moon 27.5.*

Cipherfox 4.1.1 throws the following error when installed in Pale Moon 27.5.*:

00:10:04.963 [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) 
[nsIStringBundle.GetStringFromName]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  
location: "JS frame :: chrome://cipherfox/content/cipherfox.js :: formatLabel :: line 296" 
data: no]

This seems to be in the case statement where hash types are determined, assuming strings are available with the same names as in Firefox.
With this error thrown, the extension fails to work entirely.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.