From 411fa77b9de735e39a96506577fa287ba3b8ffae Mon Sep 17 00:00:00 2001 From: traumschule Date: Fri, 12 Oct 2018 10:39:34 +0200 Subject: [PATCH] add css accordion to verification page (#3893) - add TOC - only show instructions for selected OS - improve usability of MacOS installation process (#17413) - Add instructions how to verify signatures on Android (#27514) --- css/layout.css | 88 ++++ css/layout.min.css | 2 +- docs/en/verifying-signatures.wml | 767 +++++++++++++++++++++++-------- 3 files changed, 667 insertions(+), 190 deletions(-) diff --git a/css/layout.css b/css/layout.css index 0db489c8..31ab0faa 100644 --- a/css/layout.css +++ b/css/layout.css @@ -1367,3 +1367,91 @@ p.blogDate { .dropdown:hover .dropdown-content { display: block; } + +/* +** accordion +** +** hides content and shows it on click on a label +** source: https://tympanus.net/codrops/2012/02/21/accordion-with-css3/ +** used for docs/en/verifying-signatures.wml +*/ +.accordion { + margin: 10px auto 30px auto; +} +.accordion pre { + padding: 15px; + line-height: 150%; +} +.accordion .hint { + color: grey; + font-size: 90%; +} +.accordion input { + display: none; +} +.accordion label:hover, +.accordion input:checked + label, +.accordion input:checked + label:hover{ + text-shadow: 0px 1px 1px rgba(255,255,255, 0.6); +} +.accordion label{ + padding: 5px 0px; + position: relative; + z-index: 19; + display: block; + cursor: pointer; + text-shadow: 1px 1px 1px rgba(255,255,255,0.8); + background: linear-gradient(top, #ffffff 1%,#bda5cc 100%); +} +.accordion label a { + color: #66a516; +} +.accordion div.nav { + right: 50px; +} +.accordion .nav { + float: right; + max-width: 400px; + text-decoration: none; +} +.accordion .nav ul { + list-style: none; + text-align: right; +} +.accordion .nav hint { + font-size: -50%; +} +.accordion article { + height: 0px; + overflow: hidden; + position: relative; + z-index: 10; + transition: + height 0.3s ease-in-out, + box-shadow 0.6s linear; +} + +.accordion .ac-box input:checked ~ label p a { + font-weight: bold; + color: red; + text-decoration: underline; +} +.accordion input:checked ~ article { + height: 100%; + transition: + height 0.5s ease-in-out, + box-shadow 0.1s linear; +} +.accordion input:checked ~ article.ac-box { + -background: grey; + border: solid 1px #66a516; + padding: 15px; + margin-bottom: 30px; +} +.accordion article h4 { + margin: 15px; +} +.accordion article.ac-box label, +.accordion article.ac-box label h4 { + display: inline; +} diff --git a/css/layout.min.css b/css/layout.min.css index fee5575d..4c14e528 100644 --- a/css/layout.min.css +++ b/css/layout.min.css @@ -1 +1 @@ -@charset "UTF-8";body{background:#fff}#wrap{width:960px;margin:0 auto}.left{float:left}.right{float:right}.twenty{width:20%}.thirty{width:30%}.forty{width:40%}.fifty{width:50%}.sixty{width:60%}.hundred{width:100%}.nopad{padding:0}.toppad{padding-top:10px}.toptwenty{margin-top:20px}.topforty{margin-top:40px}.hidden{display:none}#header{width:960px;height:97px;margin-bottom:23px;position:relative}h1#logo{margin:0;float:left}h1#logo a,h1#logo a:visited{background:url(../images/tor-logo.png) left top no-repeat;background-size:150px 97px;text-indent:-9999px;overflow:hidden;width:150px;height:97px;display:block}#nav{position:absolute;top:30px;left:115px;float:right}#nav ul{height:50px;float:right;margin-bottom:0}#nav ul li{float:left;display:inline;width:auto}#calltoaction{height:30px;float:right;margin-top:100px;margin-right:5px;text-align:center}#calltoaction ul{padding:0;margin:0;height:30px;list-style:none;float:right}#calltoaction ul li{list-style:none;display:inline;float:none;width:100px;margin-left:0}#calltoaction ul li a:link,#calltoaction ul li a:visited{display:block;background:url(../images/cta-buttons.jpg) top center no-repeat #885ca4;padding:4px 8px;color:#fff;font-weight:bold;text-decoration:none;font-size:13px;line-height:22px;height:22px;width:84px;float:left;text-shadow:1px 1px 0 #111}#calltoaction ul li:hover a{background:url(../images/cta-buttons.jpg) bottom center no-repeat #ff9800;font-weight:bold;text-shadow:1px 1px 0 #111}#calltoaction ul li:first-child a:link,#calltoaction ul li:first-child a:visited,#calltoaction ul li:hover:first-child a{-webkit-border-top-left-radius:7px;-webkit-border-bottom-left-radius:7px;-moz-border-radius-topleft:7px;-moz-border-radius-bottomleft:7px;border-top-left-radius:7px;border-bottom-left-radius:7px}#calltoaction ul li:first-child a:link,#calltoaction ul li:first-child a:visited{background:url(../images/cta-buttons.jpg) top left no-repeat #885ca4}#calltoaction ul li:hover:first-child a{background:url(../images/cta-buttons.jpg) bottom left no-repeat #ff9800}#calltoaction ul li:last-child a:link,#calltoaction ul li:last-child a:visited,#calltoaction ul li:hover:last-child a{-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:7px;border-top-right-radius:7px;border-bottom-right-radius:7px}#calltoaction ul li:last-child a:link,#calltoaction ul li:last-child a:visited{background:url(../images/cta-buttons.jpg) top right no-repeat #885ca4;color:#fff}#calltoaction ul li:hover:last-child a{background:url(../images/cta-buttons.jpg) bottom right no-repeat #ff9800}#banner{background:url(../images/bg-banner.jpg) left top no-repeat;height:200px;width:600px;padding:23px 15px;margin-bottom:15px}#download a:link,#download a:visited{margin:-17px 0 0;background:url(../images/button-download.png) left top no-repeat;width:257px;height:79px;float:left;padding:35px 0 0 80px;text-decoration:none}#download a .download-tor{background:url(../images/button-download-arrow.png) right center no-repeat;font-family:"Arial Narrow",Arial,sans-serif;color:#fff;font-size:2.167em;letter-spacing:1px;padding-right:25px}#download a .version{color:#bda5cc;font-size:1.167em;line-height:1.167em}#download a .info{color:#bda5cc;font-size:.833em;line-height:.833em}#download a:hover{background-position:0 -114px}#download a:hover .version,#download a:hover .info{color:#f1c6a1}#banner ul{background:#387520 url(../images/banner-gradient.jpg) left top repeat-x;border:1px solid #366b32;width:180px;float:right;margin:0 15px 0 0;padding:10px 10px 10px 30px}#banner ul li{list-style:url(../images/white-bullet.png) outside;padding:5px 0}#content{width:960px}#content img{max-width:710px}#breadcrumbs{padding:0 0 10px 5px}#home #maincol{float:left;width:620px;margin-right:20px}#maincol{float:right;width:710px;margin-bottom:20px}#dow-don-left,#maincol-left{float:left;width:710px;margin-bottom:20px}#maincol .topforty .icon img{border:0}.subcol{width:280px;float:left;margin:0 0 25px}#content .first{margin-right:20px}#home #sidecol{float:right;width:300px}#sidecol{float:left;width:230px;margin-right:20px}#dow-don-right,#sidecol-right{float:right;width:230px;margin-left:20px;padding-top:100px}#torusers{margin:0 0 27px}.user{margin:0 0 12px;height:auto}.user img,.project-icon{border:1px solid #cac8a7;float:left;margin:3px 10px 0 0}.user p{margin:0}.img-shadow{float:left;background:url(../images/shadowAlpha.png) no-repeat bottom right !important;background:url(../images/shadow.gif) no-repeat bottom right;margin:10px 0 10px 10px !important;margin:10px 0 10px 5px}.img-shadow .infoblock,.img-shadow .important-infoblock,.img-shadow .custom-infoblock,.img-shadow #sidenav,.img-shadow .sidenav-sub{display:block;position:relative;margin:-6px 6px 6px -6px;background-color:#fff;border:1px solid #ddd}.img-shadow .important-infoblock{background-color:#f7f8f0;border:1px solid #eeefe8}.img-shadow .infoblock,.img-shadow .important-infoblock{padding:15px;width:188px}.img-shadow .custom-infoblock{padding:15px;height:120px;width:426px}.img-shadow .infoblock p,.img-shadow .important-infoblock p,.img-shadow .custom-infoblock p{margin:0}.img-shadow #sidenav,.img-shadow .sidenav-sub{padding:10px 0 0;width:218px}#sidenav ul li,.sidenav-sub ul li{border-bottom:1px solid #ddd}#sidenav ul li.dropdown a:link,#sidenav ul li.dropdown a:visited{background:url(../images/sidenav-arrow.gif) left center no-repeat}#sidenav ul li.dropdown a.active{background:url(../images/sidenav-arrow-active.gif) left center no-repeat}.sidenav-sub ul li.dropdown a:link,.sidenav-sub ul li.dropdown a:visited{background:url(../images/sidenav-arrow.gif) left top no-repeat;margin-top:12px}#sidenav ul li a:link,#sidenav ul li a:visited{display:block;height:auto;padding:8px 15px 8px 26px}#sidenav ul li ul li a:link,#sidenav ul li ul li a:visited{padding-left:37px}.sidenav-sub ul li a:link,.sidenav-sub ul li a:visited{display:block;padding:0 15px 10px 26px;line-height:16px}#sidenav ul li.active{background:url(../images/sidenav-active.png) left center no-repeat;width:230px;border:0}#sidenav ul li ul li ul li a:link,#sidenav ul li ul li ul li a:visited{padding-left:48px}#press tr:nth-child(even){background-color:#e5e5e5}table{width:100%}td{padding:12px}table td img,table tr img{border:0;float:left;margin-right:10px}.icon{float:left;width:auto;margin-right:15px;padding:10px 0;border:0}.calendar{background:url(../images/icon-calendar.jpg) left top no-repeat;float:left;margin-right:10px;width:45px;height:54px;text-align:center;padding:4px 0}.fauxhead{background:url(../images/table-arrow.jpg) right top no-repeat;width:100%;height:11px}#home-our-projects td{height:92px;width:296px;padding:6px}#ecosystem_presentation{height:30px;padding-top:10px;padding-left:60px;vertical-align:middle;background:url("../images/video.png") no-repeat scroll left center transparent;font-size:1.7em;font-weight:bold}#ecosystem_presentation a{text-decoration:none}.project{float:left;padding:6px;border:1px solid #cac8a7;height:76px;width:284px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.project img{border:0;margin-right:6px}.beige{background:#f5f5df}.gray{background:#e0e0e0}.meta{float:right;width:auto}.windows24{background:url("../images/icon-windows24.png") no-repeat scroll left center transparent}.mac24{background:url("../images/icon-mac24.png") no-repeat scroll left center transparent}.linux24{background:url("../images/icon-linux24.png") no-repeat scroll left center transparent}.android24{background:url("../images/icon-android24.png") no-repeat scroll left center transparent;background-size:24px}.smartphone24{background:url("../images/icon-smartphone24.png") no-repeat scroll left center transparent}.sourcecode24{background:url("../images/icon-sourcecode24.png") no-repeat scroll left center transparent}.windows24,.mac24,.linux24,.android24,.smartphone24,.sourcecode24{display:block;line-height:32px;padding:0 0 0 33px}.accordionButton{background:url("../images/table-title.jpg") repeat-x left bottom #885ca4;color:#fff;margin:0;font-size:1.1em;font-weight:bold;height:32px;float:left;_float:none;border:1px solid #fff;border-bottom:0;cursor:pointer;-webkit-border-top-left-radius:7px;-webkit-border-top-right-radius:7px;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;border-top-left-radius:7px;border-top-right-radius:7px;position:relative;padding-left:30px;width:680px}.accordionButton:hover{background:url("../images/table-title-hover.jpg") repeat-x left bottom #885ca4;text-shadow:1px 1px 0 rgba(17,17,17,1)}.on:before,.off:before{position:absolute;content:'';height:0;width:0;font-size:0;line-height:0}.on:before{top:14px;left:10px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff}.off:before{top:9px;left:14px;border-bottom:7px solid transparent;border-top:7px solid transparent;border-left:7px solid #fff}.accordionContent{width:708px;float:left;_float:none;background:#fff;display:block}.accordionContent .fauxhead{width:710px}.package{float:left;height:280px;margin:0;padding:25px 20px 20px 20px;border-top:1px solid #888}.package h2{margin-bottom:3px}.package p{margin-top:16px;padding-left:10px}.downloads{display:block;float:left;width:238px;padding:0 16px 0 0;text-align:center}.lang{float:right;display:none;width:80px;height:20px;margin:0 7px 0 0;padding:0 0 0 3px;background-color:#fefff7;border:2px solid #cccfb8;border-top:0;-webkit-border-bottom-left-radius:5px;-webkit-border-bottom-right-radius:5px;-moz-border-radius-bottomleft:5px;-moz-border-radius-bottomright:5px;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.button{text-align:center;display:block;width:234px;height:69px;text-decoration:none;background:url(../images/button-downloadpage.png) bottom left no-repeat;margin:0 auto 8px auto;text-shadow:1px 1px 0 rgba(17,17,17,1);-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.button .strong{display:block;padding:10px 0 0 57px}.button .normal{padding:5px 0 0 57px;display:block}.sig{display:block;margin:3px 0 20px 0}.easy{width:712px;margin-bottom:10px;padding-bottom:8px}#download-donate{background-attachment:scroll;background-clip:border-box;background-color:transparent;background-image:url(../images/headerbg.jpg);background-origin:padding-box;background-position:0 0;background-repeat:no-repeat;background-size:100% 100%}.easy .package h2,.easy .package em{display:block;width:100%;text-align:left}.easy .package h2{padding-top:10px;padding-bottom:5px}.easy .package em{font-size:1.2em;padding-top:8px;padding-bottom:4px}.easy .package p{padding-left:0;font-size:15px;text-align:justify}.easy .package p.alt-dl{text-align:left;text-indent:0;padding-left:0;margin-top:32px}.all-dl{display:block;text-align:left;width:100%;font-size:15px}.all-dl a{text-decoration:none;font-weight:bold}.all-dl a:hover{text-decoration:underline}.easy .package{float:none;padding:0 8px 0 12px}.open{display:block}.lang-alt{line-height:15px;font-size:10px;float:right;margin-right:10px}.expander{text-align:right;float:right;padding:10px 20px 0 0;font-size:15px;display:none}.title{background:url(../images/table-title-arrow.jpg) right top no-repeat;padding:10px 25px 0 10px;height:33px;float:left}.title a:link,.title a:visited{background:url(../images/table-title.jpg) left top no-repeat;height:33px;display:block}.paypal{float:left;width:auto;min-height:159px;max-width:365px}.paypal span{padding-right:20px}.warning-top{width:618px;padding:10px 10px 10px 60px;margin:0 10px 0 10px;display:block;background:url("../images/warning.png") no-repeat scroll 2px 23px #fffeb6;border:1px solid #a6a427;border-bottom:0;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;-moz-border-radius-topleft:5px;-moz-border-radius-topright:5px;border-top-left-radius:5px;border-top-right-radius:5px}.warning-top h2{padding-right:15px;padding-left:0;margin-bottom:5px}.warning-top p{padding-left:10px;margin-bottom:0}.warning{float:left;_float:none;padding:25px 25px;margin-top:4px}.warning p{padding-left:10px}.focus{background:#f4f2c7;border:1px solid #ebd4a9;padding:10px 15px}.focus .icon{float:left;width:auto;margin-right:10px}.featured-project{width:313px}input,select{margin:0 3px 10px 0}input.textfield{padding:0 10px;vertical-align:top}.donate-btn{background:left top no-repeat;height:26px;width:92px;text-indent:-9999px;overflow:hidden;border:0;vertical-align:top;margin-top:5px}.donate-btn:hover{background-position:0 -26px;cursor:pointer}.signup{background:#96c35a;border-top:1px solid #6ab334;border-left:1px solid #6ab334;border-bottom:1px solid #5a952b;border-right:1px solid #5a952b;height:31px;padding:0 5px;vertical-align:top;color:#222c14;font-weight:bold;font-size:1em;line-height:1em}.signup:hover{background:#6ab334}select#lang{float:left;width:160px;margin-right:3px}.go{background:#96c35a;border-top:1px solid #6ab334;border-left:1px solid #6ab334;border-bottom:1px solid #5a952b;border-right:1px solid #5a952b;padding:0 5px;vertical-align:top;color:#222c14;font-weight:bold;font-size:1em;line-height:1em;height:18px}.go:hover{background:#6ab334}#footer{width:1024px;height:200px;border-top:1px solid #ddd;padding:20px 0;margin:20px 0 0}.onion{float:left;width:88px;padding-right:20px;height:100%}#footer .about{width:180px;padding-right:30px;border-right:1px solid #ddd;float:left}#footer .newsletter{padding:0 0 15px 30px;width:auto;margin-left:308px}#footer input.textfield{width:220px;height:26px}#footer input{margin:0}#footer .col{float:left;width:100px;margin-left:20px}#footer .first{margin-left:30px}#footer .wider{width:201px}small{margin:0 auto 0 auto;text-align:center;font-size:10px;font-style:italic}.hlist{text-align:center;display:block;width:100%;padding:0;list-style:none;margin:0 0 18px 0}.hlist li{display:inline-block;border-right:1px solid #444;margin-left:-4px}.hlist li.last{border-right:0 solid #444}.hlist a{display:block;top:0;right:0;bottom:0;left:0;text-decoration:none;font-weight:bold;padding:0 8px}.dbox{float:none;text-align:center;color:#222;border:0;padding:1.4em .7em;width:163px;margin:0 0 0 10px}.dbox p{display:block;padding:0;margin:0}.dbox h2{padding:13px 0 15px 0;position:relative;color:black;font-family:Helvetica,Arial,sans-serif;font-size:18px;font-weight:normal;height:35px;margin-bottom:-20px;margin-left:-6px;z-index:-10}.dbox input.donate-btn{background:url(../images/btn_donateCC_LG.gif) left top no-repeat transparent;height:68px;width:186px;margin-top:0;display:block;background-color:transparent;color:transparent;margin:10px auto 10px auto;padding:0}.dbox span{float:left;padding-right:0}.dbox div label{padding:0 10px 0 0}.dbox h6#ppinfo{width:100%;text-align:center;margin:-15px auto 0 auto}.dbox small,.dbox.donate #ppinfo{margin:0 auto 0 auto;text-align:center;font-size:10px;font-style:normal}.dbox.dl{float:none;width:177px;margin:0 5px 20px 5px}.dbox.dl input.amount{width:87px}.dbox.donate{float:none;padding:30px 30px;width:626px;min-height:0;max-width:none;text-align:left}.dbox.donate input,.dbox.donate select{padding-bottom:0;margin-bottom:0}.dbox.donate .drow{margin:0 0 0 20px}.dbox.donate .drow div{padding:0;width:auto;display:block}.dbox.donate h3{padding-left:0;color:#23300e;margin:0 0 10px 0}.dbox.donate h4{padding-left:20px}.dbox.donate p{padding:5px 20px 15px 40px}.dbox.donate span{float:left;padding-right:0}.dbox.donate div label{padding:0 10px 0 0}.dbox.donate .type{padding-left:20px}.dbox.donate select#t3{width:auto;margin-bottom:0}.dbox.donate ul.amounts{width:auto}.dbox.donate ul.amounts li{display:inline-block}.dbox.donate ul.amounts li label{padding:0 0 0 5px}.dbox.donate input.donate-btn{background:url(../images/btn_donateCC_LG.gif) left top no-repeat transparent;height:26px;width:115px;margin-top:-3px;display:inline-block;background-color:transparent;color:transparent;border:0 solid transparent}.dbox.dsmall{position:relative;display:inline-block;width:170px;height:140px;text-align:center;margin:0 10px;vertical-align:top}.dbox.dsmall input.donate-btn{background:url() left top no-repeat transparent;width:auto;height:auto;margin-top:0;display:block;background-color:transparent;color:transparent;border:0 solid transparent}.dbox.dsmall div label{padding:0}.dbox.dsmall small{display:block;position:absolute;width:172px;float:none;bottom:20px;margin:0 auto}.givv p{text-align:justify;margin-top:10px;font-size:11px;line-height:13px}dwolla p{text-align:justify;margin-top:10px;font-size:11px;line-height:13px}div.blogRow,div.blogFirstRow{height:40px;padding:3px 10px;margin:0}div.blogLastRow{height:20px;text-align:center}div.blogFirstRow{height:22px;background:url(../images/table-head.jpg) left top repeat-x #885ca4}.blogRow:hover{background:#f6ffd5}div.blogRow1,div.blogRow3{background:#eee8f1}.blogFeed a{text-decoration:none}.blogFeed p{margin:0;font-size:12px}p.blogTitle{font-weight:bold;text-decoration:underline}p.blogAuthor{color:#000;text-align:right;margin-top:-20px}p.blogAuthor em{color:#4e6a20;text-align:right;margin-top:-20px}p.blogDate{color:#000}.blogFeed h2{font-size:1.467em;margin:0;line-height:23px;color:#f6f6ed}#projectpage td{width:50%}.projectbox{width:710px;position:relative;margin-bottom:80px}.projectbox .name{font-size:1.5em;font-weight:bold}.projectbox a img{float:none;position:absolute;top:0;left:0}.projectbox .projectdesc{margin-left:100px}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{display:inline-block}/*\*/* html .clearfix{height:1%}.clearfix{display:block}/**/.joblink{display:block;font-size:128%;font-weight:bold;padding:10px 5px;text-align:right}.joblink a{text-decoration:none}.dropbtn{background-color:white;padding:16px 0 0 0;font-size:100%;border:0;cursor:pointer}.dropdown{position:relative;display:inline-block;padding:0;margin-top:-16px;top:0}.dropdown-content{display:none;position:absolute;background-color:#f9f9f9;box-shadow:0 8px 16px 0 rgba(0,0,0,0.2);z-index:1;margin:48px 0 0 0}.dropdown-content a{color:black;padding-top:12px 16px;text-decoration:none;display:block}.dropdown:hover .dropdown-content{display:block} \ No newline at end of file +@charset "UTF-8";body{background:#fff}#wrap{width:960px;margin:0 auto}.left{float:left}.right{float:right}.twenty{width:20%}.thirty{width:30%}.forty{width:40%}.fifty{width:50%}.sixty{width:60%}.hundred{width:100%}.nopad{padding:0}.toppad{padding-top:10px}.toptwenty{margin-top:20px}.topforty{margin-top:40px}.hidden{display:none}#header{width:960px;height:97px;margin-bottom:23px;position:relative}h1#logo{margin:0;float:left}h1#logo a,h1#logo a:visited{background:url(../images/tor-logo.png) left top no-repeat;background-size:150px 97px;text-indent:-9999px;overflow:hidden;width:150px;height:97px;display:block}#nav{position:absolute;top:30px;left:115px;float:right}#nav ul{height:50px;float:right;margin-bottom:0}#nav ul li{float:left;display:inline;width:auto}#calltoaction{height:30px;float:right;margin-top:100px;margin-right:5px;text-align:center}#calltoaction ul{padding:0;margin:0;height:30px;list-style:none;float:right}#calltoaction ul li{list-style:none;display:inline;float:none;width:100px;margin-left:0}#calltoaction ul li a:link,#calltoaction ul li a:visited{display:block;background:url(../images/cta-buttons.jpg) top center no-repeat #885ca4;padding:4px 8px;color:#fff;font-weight:bold;text-decoration:none;font-size:13px;line-height:22px;height:22px;width:84px;float:left;text-shadow:1px 1px 0 #111}#calltoaction ul li:hover a{background:url(../images/cta-buttons.jpg) bottom center no-repeat #ff9800;font-weight:bold;text-shadow:1px 1px 0 #111}#calltoaction ul li:first-child a:link,#calltoaction ul li:first-child a:visited,#calltoaction ul li:hover:first-child a{-webkit-border-top-left-radius:7px;-webkit-border-bottom-left-radius:7px;-moz-border-radius-topleft:7px;-moz-border-radius-bottomleft:7px;border-top-left-radius:7px;border-bottom-left-radius:7px}#calltoaction ul li:first-child a:link,#calltoaction ul li:first-child a:visited{background:url(../images/cta-buttons.jpg) top left no-repeat #885ca4}#calltoaction ul li:hover:first-child a{background:url(../images/cta-buttons.jpg) bottom left no-repeat #ff9800}#calltoaction ul li:last-child a:link,#calltoaction ul li:last-child a:visited,#calltoaction ul li:hover:last-child a{-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:7px;border-top-right-radius:7px;border-bottom-right-radius:7px}#calltoaction ul li:last-child a:link,#calltoaction ul li:last-child a:visited{background:url(../images/cta-buttons.jpg) top right no-repeat #885ca4;color:#fff}#calltoaction ul li:hover:last-child a{background:url(../images/cta-buttons.jpg) bottom right no-repeat #ff9800}#banner{background:url(../images/bg-banner.jpg) left top no-repeat;height:200px;width:600px;padding:23px 15px;margin-bottom:15px}#download a:link,#download a:visited{margin:-17px 0 0;background:url(../images/button-download.png) left top no-repeat;width:257px;height:79px;float:left;padding:35px 0 0 80px;text-decoration:none}#download a .download-tor{background:url(../images/button-download-arrow.png) right center no-repeat;font-family:"Arial Narrow",Arial,sans-serif;color:#fff;font-size:2.167em;letter-spacing:1px;padding-right:25px}#download a .version{color:#bda5cc;font-size:1.167em;line-height:1.167em}#download a .info{color:#bda5cc;font-size:.833em;line-height:.833em}#download a:hover{background-position:0 -114px}#download a:hover .version,#download a:hover .info{color:#f1c6a1}#banner ul{background:#387520 url(../images/banner-gradient.jpg) left top repeat-x;border:1px solid #366b32;width:180px;float:right;margin:0 15px 0 0;padding:10px 10px 10px 30px}#banner ul li{list-style:url(../images/white-bullet.png) outside;padding:5px 0}#content{width:960px}#content img{max-width:710px}#breadcrumbs{padding:0 0 10px 5px}#home #maincol{float:left;width:620px;margin-right:20px}#maincol{float:right;width:710px;margin-bottom:20px}#dow-don-left,#maincol-left{float:left;width:710px;margin-bottom:20px}#maincol .topforty .icon img{border:0}.subcol{width:280px;float:left;margin:0 0 25px}#content .first{margin-right:20px}#home #sidecol{float:right;width:300px}#sidecol{float:left;width:230px;margin-right:20px}#dow-don-right,#sidecol-right{float:right;width:230px;margin-left:20px;padding-top:100px}#torusers{margin:0 0 27px}.user{margin:0 0 12px;height:auto}.user img,.project-icon{border:1px solid #cac8a7;float:left;margin:3px 10px 0 0}.user p{margin:0}.img-shadow{float:left;background:url(../images/shadowAlpha.png) no-repeat bottom right !important;background:url(../images/shadow.gif) no-repeat bottom right;margin:10px 0 10px 10px !important;margin:10px 0 10px 5px}.img-shadow .infoblock,.img-shadow .important-infoblock,.img-shadow .custom-infoblock,.img-shadow #sidenav,.img-shadow .sidenav-sub{display:block;position:relative;margin:-6px 6px 6px -6px;background-color:#fff;border:1px solid #ddd}.img-shadow .important-infoblock{background-color:#f7f8f0;border:1px solid #eeefe8}.img-shadow .infoblock,.img-shadow .important-infoblock{padding:15px;width:188px}.img-shadow .custom-infoblock{padding:15px;height:120px;width:426px}.img-shadow .infoblock p,.img-shadow .important-infoblock p,.img-shadow .custom-infoblock p{margin:0}.img-shadow #sidenav,.img-shadow .sidenav-sub{padding:10px 0 0;width:218px}#sidenav ul li,.sidenav-sub ul li{border-bottom:1px solid #ddd}#sidenav ul li.dropdown a:link,#sidenav ul li.dropdown a:visited{background:url(../images/sidenav-arrow.gif) left center no-repeat}#sidenav ul li.dropdown a.active{background:url(../images/sidenav-arrow-active.gif) left center no-repeat}.sidenav-sub ul li.dropdown a:link,.sidenav-sub ul li.dropdown a:visited{background:url(../images/sidenav-arrow.gif) left top no-repeat;margin-top:12px}#sidenav ul li a:link,#sidenav ul li a:visited{display:block;height:auto;padding:8px 15px 8px 26px}#sidenav ul li ul li a:link,#sidenav ul li ul li a:visited{padding-left:37px}.sidenav-sub ul li a:link,.sidenav-sub ul li a:visited{display:block;padding:0 15px 10px 26px;line-height:16px}#sidenav ul li.active{background:url(../images/sidenav-active.png) left center no-repeat;width:230px;border:0}#sidenav ul li ul li ul li a:link,#sidenav ul li ul li ul li a:visited{padding-left:48px}#press tr:nth-child(even){background-color:#e5e5e5}table{width:100%}td{padding:12px}table td img,table tr img{border:0;float:left;margin-right:10px}.icon{float:left;width:auto;margin-right:15px;padding:10px 0;border:0}.calendar{background:url(../images/icon-calendar.jpg) left top no-repeat;float:left;margin-right:10px;width:45px;height:54px;text-align:center;padding:4px 0}.fauxhead{background:url(../images/table-arrow.jpg) right top no-repeat;width:100%;height:11px}#home-our-projects td{height:92px;width:296px;padding:6px}#ecosystem_presentation{height:30px;padding-top:10px;padding-left:60px;vertical-align:middle;background:url("../images/video.png") no-repeat scroll left center transparent;font-size:1.7em;font-weight:bold}#ecosystem_presentation a{text-decoration:none}.project{float:left;padding:6px;border:1px solid #cac8a7;height:76px;width:284px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.project img{border:0;margin-right:6px}.beige{background:#f5f5df}.gray{background:#e0e0e0}.meta{float:right;width:auto}.windows24{background:url("../images/icon-windows24.png") no-repeat scroll left center transparent}.mac24{background:url("../images/icon-mac24.png") no-repeat scroll left center transparent}.linux24{background:url("../images/icon-linux24.png") no-repeat scroll left center transparent}.android24{background:url("../images/icon-android24.png") no-repeat scroll left center transparent;background-size:24px}.smartphone24{background:url("../images/icon-smartphone24.png") no-repeat scroll left center transparent}.sourcecode24{background:url("../images/icon-sourcecode24.png") no-repeat scroll left center transparent}.windows24,.mac24,.linux24,.android24,.smartphone24,.sourcecode24{display:block;line-height:32px;padding:0 0 0 33px}.accordionButton{background:url("../images/table-title.jpg") repeat-x left bottom #885ca4;color:#fff;margin:0;font-size:1.1em;font-weight:bold;height:32px;float:left;_float:none;border:1px solid #fff;border-bottom:0;cursor:pointer;-webkit-border-top-left-radius:7px;-webkit-border-top-right-radius:7px;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;border-top-left-radius:7px;border-top-right-radius:7px;position:relative;padding-left:30px;width:680px}.accordionButton:hover{background:url("../images/table-title-hover.jpg") repeat-x left bottom #885ca4;text-shadow:1px 1px 0 rgba(17,17,17,1)}.on:before,.off:before{position:absolute;content:'';height:0;width:0;font-size:0;line-height:0}.on:before{top:14px;left:10px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff}.off:before{top:9px;left:14px;border-bottom:7px solid transparent;border-top:7px solid transparent;border-left:7px solid #fff}.accordionContent{width:708px;float:left;_float:none;background:#fff;display:block}.accordionContent .fauxhead{width:710px}.package{float:left;height:280px;margin:0;padding:25px 20px 20px 20px;border-top:1px solid #888}.package h2{margin-bottom:3px}.package p{margin-top:16px;padding-left:10px}.downloads{display:block;float:left;width:238px;padding:0 16px 0 0;text-align:center}.lang{float:right;display:none;width:80px;height:20px;margin:0 7px 0 0;padding:0 0 0 3px;background-color:#fefff7;border:2px solid #cccfb8;border-top:0;-webkit-border-bottom-left-radius:5px;-webkit-border-bottom-right-radius:5px;-moz-border-radius-bottomleft:5px;-moz-border-radius-bottomright:5px;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.button{text-align:center;display:block;width:234px;height:69px;text-decoration:none;background:url(../images/button-downloadpage.png) bottom left no-repeat;margin:0 auto 8px auto;text-shadow:1px 1px 0 rgba(17,17,17,1);-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.button .strong{display:block;padding:10px 0 0 57px}.button .normal{padding:5px 0 0 57px;display:block}.sig{display:block;margin:3px 0 20px 0}.easy{width:712px;margin-bottom:10px;padding-bottom:8px}#download-donate{background-attachment:scroll;background-clip:border-box;background-color:transparent;background-image:url(../images/headerbg.jpg);background-origin:padding-box;background-position:0 0;background-repeat:no-repeat;background-size:100% 100%}.easy .package h2,.easy .package em{display:block;width:100%;text-align:left}.easy .package h2{padding-top:10px;padding-bottom:5px}.easy .package em{font-size:1.2em;padding-top:8px;padding-bottom:4px}.easy .package p{padding-left:0;font-size:15px;text-align:justify}.easy .package p.alt-dl{text-align:left;text-indent:0;padding-left:0;margin-top:32px}.all-dl{display:block;text-align:left;width:100%;font-size:15px}.all-dl a{text-decoration:none;font-weight:bold}.all-dl a:hover{text-decoration:underline}.easy .package{float:none;padding:0 8px 0 12px}.open{display:block}.lang-alt{line-height:15px;font-size:10px;float:right;margin-right:10px}.expander{text-align:right;float:right;padding:10px 20px 0 0;font-size:15px;display:none}.title{background:url(../images/table-title-arrow.jpg) right top no-repeat;padding:10px 25px 0 10px;height:33px;float:left}.title a:link,.title a:visited{background:url(../images/table-title.jpg) left top no-repeat;height:33px;display:block}.paypal{float:left;width:auto;min-height:159px;max-width:365px}.paypal span{padding-right:20px}.warning-top{width:618px;padding:10px 10px 10px 60px;margin:0 10px 0 10px;display:block;background:url("../images/warning.png") no-repeat scroll 2px 23px #fffeb6;border:1px solid #a6a427;border-bottom:0;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;-moz-border-radius-topleft:5px;-moz-border-radius-topright:5px;border-top-left-radius:5px;border-top-right-radius:5px}.warning-top h2{padding-right:15px;padding-left:0;margin-bottom:5px}.warning-top p{padding-left:10px;margin-bottom:0}.warning{float:left;_float:none;padding:25px 25px;margin-top:4px}.warning p{padding-left:10px}.focus{background:#f4f2c7;border:1px solid #ebd4a9;padding:10px 15px}.focus .icon{float:left;width:auto;margin-right:10px}.featured-project{width:313px}input,select{margin:0 3px 10px 0}input.textfield{padding:0 10px;vertical-align:top}.donate-btn{background:left top no-repeat;height:26px;width:92px;text-indent:-9999px;overflow:hidden;border:0;vertical-align:top;margin-top:5px}.donate-btn:hover{background-position:0 -26px;cursor:pointer}.signup{background:#96c35a;border-top:1px solid #6ab334;border-left:1px solid #6ab334;border-bottom:1px solid #5a952b;border-right:1px solid #5a952b;height:31px;padding:0 5px;vertical-align:top;color:#222c14;font-weight:bold;font-size:1em;line-height:1em}.signup:hover{background:#6ab334}select#lang{float:left;width:160px;margin-right:3px}.go{background:#96c35a;border-top:1px solid #6ab334;border-left:1px solid #6ab334;border-bottom:1px solid #5a952b;border-right:1px solid #5a952b;padding:0 5px;vertical-align:top;color:#222c14;font-weight:bold;font-size:1em;line-height:1em;height:18px}.go:hover{background:#6ab334}#footer{width:1024px;height:200px;border-top:1px solid #ddd;padding:20px 0;margin:20px 0 0}.onion{float:left;width:88px;padding-right:20px;height:100%}#footer .about{width:180px;padding-right:30px;border-right:1px solid #ddd;float:left}#footer .newsletter{padding:0 0 15px 30px;width:auto;margin-left:308px}#footer input.textfield{width:220px;height:26px}#footer input{margin:0}#footer .col{float:left;width:100px;margin-left:20px}#footer .first{margin-left:30px}#footer .wider{width:201px}small{margin:0 auto 0 auto;text-align:center;font-size:10px;font-style:italic}.hlist{text-align:center;display:block;width:100%;padding:0;list-style:none;margin:0 0 18px 0}.hlist li{display:inline-block;border-right:1px solid #444;margin-left:-4px}.hlist li.last{border-right:0 solid #444}.hlist a{display:block;top:0;right:0;bottom:0;left:0;text-decoration:none;font-weight:bold;padding:0 8px}.dbox{float:none;text-align:center;color:#222;border:0;padding:1.4em .7em;width:163px;margin:0 0 0 10px}.dbox p{display:block;padding:0;margin:0}.dbox h2{padding:13px 0 15px 0;position:relative;color:black;font-family:Helvetica,Arial,sans-serif;font-size:18px;font-weight:normal;height:35px;margin-bottom:-20px;margin-left:-6px;z-index:-10}.dbox input.donate-btn{background:url(../images/btn_donateCC_LG.gif) left top no-repeat transparent;height:68px;width:186px;margin-top:0;display:block;background-color:transparent;color:transparent;margin:10px auto 10px auto;padding:0}.dbox span{float:left;padding-right:0}.dbox div label{padding:0 10px 0 0}.dbox h6#ppinfo{width:100%;text-align:center;margin:-15px auto 0 auto}.dbox small,.dbox.donate #ppinfo{margin:0 auto 0 auto;text-align:center;font-size:10px;font-style:normal}.dbox.dl{float:none;width:177px;margin:0 5px 20px 5px}.dbox.dl input.amount{width:87px}.dbox.donate{float:none;padding:30px 30px;width:626px;min-height:0;max-width:none;text-align:left}.dbox.donate input,.dbox.donate select{padding-bottom:0;margin-bottom:0}.dbox.donate .drow{margin:0 0 0 20px}.dbox.donate .drow div{padding:0;width:auto;display:block}.dbox.donate h3{padding-left:0;color:#23300e;margin:0 0 10px 0}.dbox.donate h4{padding-left:20px}.dbox.donate p{padding:5px 20px 15px 40px}.dbox.donate span{float:left;padding-right:0}.dbox.donate div label{padding:0 10px 0 0}.dbox.donate .type{padding-left:20px}.dbox.donate select#t3{width:auto;margin-bottom:0}.dbox.donate ul.amounts{width:auto}.dbox.donate ul.amounts li{display:inline-block}.dbox.donate ul.amounts li label{padding:0 0 0 5px}.dbox.donate input.donate-btn{background:url(../images/btn_donateCC_LG.gif) left top no-repeat transparent;height:26px;width:115px;margin-top:-3px;display:inline-block;background-color:transparent;color:transparent;border:0 solid transparent}.dbox.dsmall{position:relative;display:inline-block;width:170px;height:140px;text-align:center;margin:0 10px;vertical-align:top}.dbox.dsmall input.donate-btn{background:url() left top no-repeat transparent;width:auto;height:auto;margin-top:0;display:block;background-color:transparent;color:transparent;border:0 solid transparent}.dbox.dsmall div label{padding:0}.dbox.dsmall small{display:block;position:absolute;width:172px;float:none;bottom:20px;margin:0 auto}.givv p{text-align:justify;margin-top:10px;font-size:11px;line-height:13px}dwolla p{text-align:justify;margin-top:10px;font-size:11px;line-height:13px}div.blogRow,div.blogFirstRow{height:40px;padding:3px 10px;margin:0}div.blogLastRow{height:20px;text-align:center}div.blogFirstRow{height:22px;background:url(../images/table-head.jpg) left top repeat-x #885ca4}.blogRow:hover{background:#f6ffd5}div.blogRow1,div.blogRow3{background:#eee8f1}.blogFeed a{text-decoration:none}.blogFeed p{margin:0;font-size:12px}p.blogTitle{font-weight:bold;text-decoration:underline}p.blogAuthor{color:#000;text-align:right;margin-top:-20px}p.blogAuthor em{color:#4e6a20;text-align:right;margin-top:-20px}p.blogDate{color:#000}.blogFeed h2{font-size:1.467em;margin:0;line-height:23px;color:#f6f6ed}#projectpage td{width:50%}.projectbox{width:710px;position:relative;margin-bottom:80px}.projectbox .name{font-size:1.5em;font-weight:bold}.projectbox a img{float:none;position:absolute;top:0;left:0}.projectbox .projectdesc{margin-left:100px}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{display:inline-block}/*\*/* html .clearfix{height:1%}.clearfix{display:block}/**/.joblink{display:block;font-size:128%;font-weight:bold;padding:10px 5px;text-align:right}.joblink a{text-decoration:none}.dropbtn{background-color:white;padding:16px 0 0 0;font-size:100%;border:0;cursor:pointer}.dropdown{position:relative;display:inline-block;padding:0;margin-top:-16px;top:0}.dropdown-content{display:none;position:absolute;background-color:#f9f9f9;box-shadow:0 8px 16px 0 rgba(0,0,0,0.2);z-index:1;margin:48px 0 0 0}.dropdown-content a{color:black;padding-top:12px 16px;text-decoration:none;display:block}.dropdown:hover .dropdown-content{display:block}.accordion{margin:10px auto 30px auto}.accordion pre{padding:15px;line-height:150%}.accordion .hint{color:grey;font-size:90%}.accordion input{display:none}.accordion label:hover,.accordion input:checked+label,.accordion input:checked+label:hover{text-shadow:0 1px 1px rgba(255,255,255,0.6)}.accordion label{padding:5px 0;position:relative;z-index:19;display:block;cursor:pointer;text-shadow:1px 1px 1px rgba(255,255,255,0.8);background:linear-gradient(top,#fff 1%,#bda5cc 100%)}.accordion label a{color:#66a516}.accordion div.nav{right:50px}.accordion .nav{float:right;max-width:400px;text-decoration:none}.accordion .nav ul{list-style:none;text-align:right}.accordion .nav hint{font-size:-50%}.accordion article{height:0;overflow:hidden;position:relative;z-index:10;transition:height .3s ease-in-out,box-shadow .6s linear}.accordion .ac-box input:checked ~ label p a{font-weight:bold;color:red;text-decoration:underline}.accordion input:checked ~ article{height:100%;transition:height .5s ease-in-out,box-shadow .1s linear}.accordion input:checked ~ article.ac-box{-background:grey;border:solid 1px #66a516;padding:15px;margin-bottom:30px}.accordion article h4{margin:15px}.accordion article.ac-box label,.accordion article.ac-box label h4{display:inline} \ No newline at end of file diff --git a/docs/en/verifying-signatures.wml b/docs/en/verifying-signatures.wml index d131e084..9b958776 100644 --- a/docs/en/verifying-signatures.wml +++ b/docs/en/verifying-signatures.wml @@ -9,62 +9,117 @@ Verifying Signatures
-

How to verify signatures for packages

+ +
+ +
+ + +
+ + +

Digital signature is a process ensuring that a certain package was generated by its developers and has not been tampered with. Below we explain why it is important and how to verify that the Tor program you download is the one we have created and has not been modified by some attacker.

-

Digital signature is a cryptographic mechanism. If you want to learn more - about how it works see +

If you want to learn more about how it works see
+
https://en.wikipedia.org/wiki/Digital_signature.

-

What is a signature and why should I check it?

+

(Click on each headline to show or hide the section.)

+
+
+ + +
+ + +
-

How do you know that the Tor program you have is really the one we made? - Digital signatures ensure that the package you are downloading was created by - our developers. It uses a cryptographic mechanism to ensure that the software package - that you have just downloaded is authentic.

- -

For many Tor users it is important to verify that the Tor software is authentic - as they have very real adversaries who might try to give them a fake version - of Tor.

+

+ For many Tor users it is important to verify that the Tor software is + authentic as they have very real adversaries who might try to give them a + fake version of Tor. +

-

If the Tor package has been modified by some attacker it is not safe to use. - It doesn't matter how secure and anonymous Tor is if you're not running the real Tor.

+

+ If the Tor package has been modified by some attacker it is not safe to use + it. It doesn't matter how secure and anonymous Tor is if you're not running + the real Tor. +

-

Before you go ahead and download something, there are a few extra steps you - should take to make sure you have downloaded an authentic version of Tor.

+

+ Before you go ahead and download something, there are a few extra steps you + should take to make sure you have downloaded an authentic version of Tor. +

Always download Tor from torproject.org

-

There are a variety of attacks that can be used to make you download a fake - version of Tor. For example, an attacker could trick you into thinking some other - website is a great place to download Tor. You should - always download Tor from https://www.torproject.org/.

+

+ There are a variety of attacks that can be used to make you download a fake + version of Tor. For example, an attacker could trick you into thinking some + other website is a great place to download Tor. You should always download + Tor from + https://www.torproject.org/. +

Always make sure you are browsing over https

-

https://www.torproject.org/ uses https. - Https is the secure version of the http protocol which uses encryption and authentication between your - browser and the website. This makes it much harder for the attacker - to modify your download. But it's not perfect. Some places in the - world block the Tor website, making users to download Tor somewhere else.

+

+ https://www.torproject.org/ uses + https. Https is the secure version of the http protocol which uses + encryption and authentication between your browser and the website. + This makes it much harder for the attacker to modify your download. But + it's not perfect. Some places in the world block the Tor website, making + users to download Tor somewhere else. +

-

Large companies sometimes force employees to use a modified browser, - so the company can listen in on all their browsing. We've even seen +

+ Large companies sometimes force employees to use a modified browser, + so the company can listen in on all their browsing. We've even + seen attackers who have the ability to trick your browser into thinking - you're talking to the Tor website with https when you're not.

+ you're talking to the Tor website with https when you're not. +

Always verify signatures of packages you have downloaded

-

Some software sites list sha1 +

+ Some software sites list + sha1 hashes alongside the software on their website, so users can verify that they downloaded the file without any errors. These "checksums" help you answer the question "Did I download this file @@ -72,39 +127,144 @@ sure you didn't have any random errors in your download, but they don't help you figure out whether you were downloading it from the attacker. The better question to answer is: "Is this file that I - just downloaded the file that Tor intended me to get?"

- -

Where do I get the signatures and the keys that made them?

+ just downloaded the file that Tor intended me to get?" +

+ +
+
+ + +
+ +
+ + +
+ + +
+

Choose your operating system: + + + + +

+

+ If you haven't already, download + the files you are interested in. +

+ +
+ +
+

Verify with OpenPGP signature on Windows

+

+ To verify the signature of the package you downloaded, you will need to download the ".asc" file as well. Assuming you downloaded the - package and its signature to your Desktop, run:

-
gpg.exe --verify C:\Users\Alice\Desktop\torbrowser-install-_en-US.exe.asc
+ package and its signature to your Desktop, run: +

+
+    > gpg.exe --verify C:\Users\Alice\Desktop\torbrowser-install-_en-US.exe.asc
+    
+

Please substitute "Alice" with your own username.

-

The output should say "Good signature":

+

The output should say "Good signature":

 gpg: assuming signed data in 'torbrowser-install-_en-US.exe'
 gpg: Signature made Wed 15 Nov 2017 05:52:38 PM CET
@@ -130,59 +331,68 @@ gpg: WARNING: This key is not certified with a trusted signature!
 gpg:          There is no indication that the signature belongs to the owner.
 Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
      Subkey fingerprint: A430 0A6B C93C 0877 A445  1486 D148 3FA6 C3C0 7136
-    

Currently valid subkey fingerprints are:

-
-#include "subkey_fingerprints.wmi" TITLE="Tor Project: Subkey Fingerprints" CHARSET="UTF-8"
     
+
+
+ +
+ +
+

Verify with OpenPGP signature on macOS

- Notice that there is a warning because you haven't assigned a trust - index to this person. This means that GnuPG verified that the key made - that signature, but it's up to you to decide if that key really belongs - to the developer. The best method is to meet the developer in person and - exchange key fingerprints. + To verify the signature of the package you downloaded, you will need + to download the ".asc" file as well. Assuming you downloaded the + package and its signature to your Downloads folder, run:

-

Mac OS X and Linux

-
- -

You need to have GnuPG installed before you can verify - signatures. If you are using Mac OS X, you can install it from https://www.gpgtools.org/. If you - are using Linux, then it's probably you already have GnuPG in your - system, as most Linux distributions come with it preinstalled. +

+ The easiest way to verify an ".asc" file is to open it by double-clicking + on it, or typing command-O. Alternatively type into the terminal:

-

The next step is to use GnuPG to import the key that signed - your package. The Tor Browser team signs Tor Browser releases. Import its - key (0x4E2C6E8793298290) by starting the terminal (under "Applications" - in Mac OS X) and typing:

- -
gpg --keyserver pool.sks-keyservers.net --recv-keys 0x4E2C6E8793298290
- -

After importing the key, you can verify that the fingerprint - is correct:

+
+    $ gpg --verify ~/Downloads/TorBrowser-_en-US.dmg{.asc*,}
+    
-
gpg --fingerprint 0x4E2C6E8793298290
+

The output should say "Good signature":

-

You should see:

-pub   rsa4096/0x4E2C6E8793298290 2014-12-15 [C] [expires: 2020-08-24]
-      Key fingerprint = EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
-uid                   [ unknown] Tor Browser Developers (signing key) <torbrowser&at;torproject.org>
-sub   rsa4096/0xD1483FA6C3C07136 2016-08-24 [S] [expires: 2018-08-24]
-      Key fingerprint = A430 0A6B C93C 0877 A445  1486 D148 3FA6 C3C0 7136
-sub   rsa4096/0xEB774491D9FF06E2 2018-05-26 [S] [expires: 2020-09-12]
-      Key fingerprint = 1107 75B5 D101 FB36 BC6C  911B EB77 4491 D9FF 06E2
+gpg: assuming signed data in 'TorBrowser-_en-US.dmg'
+gpg: Signature made Wed 15 Nov 2017 05:52:38 PM CET
+gpg:                using RSA key 0xD1483FA6C3C07136
+gpg: Good signature from "Tor Browser Developers (signing key) <torbrowser&at;torproject.org>" [unknown]
+gpg: WARNING: This key is not certified with a trusted signature!
+gpg:          There is no indication that the signature belongs to the owner.
+Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
+     Subkey fingerprint: A430 0A6B C93C 0877 A445  1486 D148 3FA6 C3C0 7136
     
-

To verify the signature of the package you downloaded, you will need +

+
+ +
+ +
+

Verify with OpenPGP signature on Linux

+ +

For Tor (not Tor Browser) packages: + On Debian you should read the instructions on + importing these keys to apt + to use our package repository instead. + If you're using the RPMs, you can manually verify the signatures by +

rpm -K filename.rpm
+

+ +

+ To verify the signature of the package you downloaded, you will need to download the ".asc" file as well. Assuming you downloaded the - package and its signature to your Downloads folder, run:

+ package and its signature to your Downloads folder, run: +

- For Mac OS X users:
-
gpg --verify ~/Downloads/TorBrowser--osx64_en-US.dmg{.asc*,}
+

Change 64 to 32 if you have the 32-bit package:

- For Linux users (change 64 to 32 if you have the 32-bit package):
-
gpg --verify tor-browser-linux64-_en-US.tar.xz.asc
+
+    $ gpg --verify tor-browser-linux64-_en-US.tar.xz.asc
+    

The output should say "Good signature":

@@ -196,7 +406,50 @@ gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290 Subkey fingerprint: A430 0A6B C93C 0877 A445 1486 D148 3FA6 C3C0 7136 -

Currently valid subkey fingerprints are:

+ +
+
+ +
+ +
+

Verify with OpenPGP signature on Android

+ +

+ To verify the signature of the package you downloaded, you will need + to download the ".asc" file as well. Assuming you downloaded the + package and its signature to your Downloads folder, run: +

+ +
+    $ jarsigner -verify -verbose -certs tor-browser-android-arm-.apk
+    
+ +

or using apksigner: + +

+    $ apksigner verify --print-certs tor-browser-android-arm-.apk
+    
+ +

The output should say "Good signature":

+ +
+gpg: assuming signed data in 'tor-browser-android-arm-1.0a1.apk'
+gpg: Signature made Thu 06 Sep 2018 08:38:27 PM CEST
+gpg:                using RSA key 0xEB774491D9FF06E2
+gpg: Good signature from "Tor Browser Developers (signing key) <torbrowser&at;torproject.org>" [unknown]
+gpg: WARNING: This key is not certified with a trusted signature!
+gpg:          There is no indication that the signature belongs to the owner.
+Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7  DE68 4E2C 6E87 9329 8290
+     Subkey fingerprint: 1107 75B5 D101 FB36 BC6C  911B EB77 4491 D9FF 06E2
+    
+
+
+ + +

+ Currently valid subkey fingerprints are: +

 #include "subkey_fingerprints.wmi" TITLE="Tor Project: Subkey Fingerprints" CHARSET="UTF-8"
     
@@ -204,117 +457,253 @@ Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290 Notice that there is a warning because you haven't assigned a trust index to this person. This means that GnuPG verified that the key made that signature, but it's up to you to decide if that key really belongs - to the developer. The best method is to meet the developer in person and - exchange key fingerprints. + to the developer. Since international travel to meet the developer might be + unfeasable you can ignore this warning or try to use another device or + another internet connection to compare the key fingerprints listed + here. +

+ +

To learn more about GnuPG see + https://www.gnupg.org/documentation/

+ +
+
+ + +
+ + +
+

+ Note: This process does not work on macOS yet due to Apple's codesigning + requirement. See MAR verification below. +

+
    +
  • + Download the Tor Browser package, + the sha256sums-unsigned-build.txt file, and the + sha256sums-unsigned-build.txt.asc signature file. + They can all be found in the same directory under + + https://www.torproject.org/dist/torbrowser/, for example in + '' + for Tor Browser . +
  • +
  • + Retrieve the signers' GPG key with following ID with the method + described above:
    + (Other developers' key IDs can be found + here) +
  • +
+
+     0x4E2C6E8793298290
+     
+
+
+ +

Choose your operating system: + + + + + + + +

+ + +
+ +
+

Verififcation with a checksum on Windows

+

Verify the signature of the checksum file

+

+ Verify the sha256sums-unsigned-build.txt file by executing this command:

+
+    > gpg.exe --verify sha256sums-unsigned-build.txt.asc sha256sums-unsigned-build.txt
+    
-

See https://www.gnupg.org/documentation/ - to learn more about GnuPG.

+

+ You should see a message like +

"Good signature from <DEVELOPER NAME>"
. + If you don't, there is a problem. Try these steps again. +

-
+

Verify the file integrity of Tor Browser

+

+ If you want to verify a Windows Tor Browser package you need to first + strip off the authenticode signature of it.
+ Tools that can be used for this purpose are + osslsigncode and + delcert.exe. + Assuming you have built e.g. osslsigncode on a Linux computer you can enter +

+
+    > C:\path\to\osslsigncode remove-signature \
+        where\you\saved\\<TOR BROWSER FILE NAME>.exe <TOR BROWSER FILE NAME>.exe
+    
- -

- Verifying sha256sums (advanced)

-
-

Build reproducibility is a security - property of Tor Browser 3.0 and later. Anyone can build - Tor Browser on their own machine and produce a binary that is - bit-for-bit identical to the binary we offer on the download page. - Fortunately, it is not necessary for everyone to build Tor Browser - locally to get this security. Verifying and comparing the signed list - of hashes - will confirm that multiple people have built Tor Browsers - identical to the download.

- -

The steps below walk through this process:

+

Now use the sha256sum of the Tor Browser package with the + hashdeep utility and run +

+
+    C:\location\of\hashdeep -c sha256sum <TOR BROWSER FILE NAME>.exe
+    
+
+
+ +
+ +
+

Verififcation with a checksum on Linux

+

Verify the signature of the checksum file

    -
  • Download the Tor Browser package, the sha256sums-unsigned-build.txt - file, and the sha256sums-unsigned-build.txt.asc signature file. - They can all be found in the same directory under - - https://www.torproject.org/dist/torbrowser/, for example in '' - for Tor Browser .
  • -
  • In case your operating system is adding the .txt extension - automatically to the SHA256 sums signature file strip it again by running -
    mv sha256sums-unsigned-build.txt.asc.txt sha256sums-unsigned-build.txt.asc
    -
  • Retrieve the signers' GPG keys. This can be done from the command - line by entering something like -
    gpg --keyserver keys.mozilla.org --recv-keys 0x4E2C6E8793298290
    - (This will bring you the public part of the Tor Browser developers' - signing key. Other developers' key IDs can be found on - this - page.)
  • -
  • Verify the sha256sums-unsigned-build.txt file by executing this - command: -
    gpg --verify sha256sums-unsigned-build.txt.asc sha256sums-unsigned-build.txt
  • -
  • You should see a message like "Good signature from <DEVELOPER - NAME>". If you don't, there is a problem. Try these steps again.
  • -
  • If you want to verify a Windows Tor Browser package you need to first - strip off the authenticode signature of it. Tools that can be used for - this purpose are osslsigncode and - delcert.exe. - Assuming you have built e.g. osslsigncode on a Linux computer you can enter -
    /path/to/your/osslsigncode remove-signature \
    -        /path/to/your/<TOR BROWSER FILE NAME>.exe <TOR BROWSER FILE NAME>.exe
  • -
  • Now you can take the sha256sum of the Tor Browser package. On - Windows you can use the - hashdeep utility and run -
    C:\location\where\you\saved\hashdeep -c sha256sum <TOR BROWSER FILE NAME>.exe
    -

    On Linux you can run

    -
    sha256sum <TOR BROWSER FILE NAME>.tar.gz
    - without having to download a utility. Note: this does not work for OS X - yet due to Apple's codesigning requirement.
  • -
  • You will see a string of letters and numbers.
  • -
  • Open sha256sums-unsigned-build.txt in a text editor.
  • -
  • Locate the name of the Tor Browser file you downloaded.
  • -
  • Compare the string of letters and numbers to the left of your - filename with the string of letters and numbers that appeared - on your command line. If they match, you've successfully verified the - build.
  • +
  • Verify the sha256sums-unsigned-build.txt with this command:
  • +
    $ gpg --verify sha256sums-unsigned-build.txt.asc sha256sums-unsigned-build.txt
    + +
  • + In case your operating system is adding the .txt extension automatically + to the SHA256 sums signature file strip it again by running +
  • +
    $ mv sha256sums-unsigned-build.txt.asc.txt sha256sums-unsigned-build.txt.asc
    + +
  • + Verify the sha256sums-unsigned-build.txt file by executing this command: +
  • +
    $ gpg --verify sha256sums-unsigned-build.txt.asc sha256sums-unsigned-build.txt
    + +
  • + If you don't see a message like this, there is a problem + and you should try these steps again: +
  • +
    "Good signature from <DEVELOPER NAME>"
    .
-

Scripts - to automate - these steps have been written, but to use them you will need to modify - them yourself with the latest Tor Browser filename.

+

Verify the file integrity of Tor Browser

+
    +
  • Calculate the SHA-256 checksum of Tor Browser:
  • +
    $ sha256sum <TOR BROWSER FILE NAME>.tar.gz
    -
    +
  • You will see a string of letters and numbers.
  • - -

    - Verifying MAR files we ship (advanced)

    +
  • Open sha256sums-unsigned-build.txt in a text editor.
  • + +
  • Locate the name of the Tor Browser file you downloaded.
  • + +
  • + Compare the string of letters and numbers to the left of your filename with + the string of letters and numbers that appeared on your command line. + If they match, you've successfully verified the build. +
  • +
+
+
+ +
+ +
+

Verififcation with a checksum on Android

+ +

This part needs to be written. + Please help! +

+
+
+ +
+
+ + +
+ + +
+

+ Assuming the verification happens on a Linux computer one first needs the mar-tools-linux*.zip out of the gitian-builder/inputs directory to remove the embedded signature(s). The steps to get the unsigned MAR file on a 64 bit Linux are

-    cd /path/to/MAR/file
-    unzip /path/to/gitian-builder/inputs/mar-tools-linux64.zip
-    export LD_LIBRARY_PATH=/path/to/MAR/file/mar-tools
-    mar-tools/signmar -r your-signed-mar-file.mar your-unsigned-mar-file.mar
+ $ cd /path/to/MAR/file + $ unzip /path/to/gitian-builder/inputs/mar-tools-linux64.zip + $ export LD_LIBRARY_PATH=/path/to/MAR/file/mar-tools + $ mar-tools/signmar -r your-signed-mar-file.mar your-unsigned-mar-file.mar

Now you can compare the SHA256 sum of your-unsigned-mar-file.mar with the one provided in the sha265sums-unsigned-build.txt or sha256sums-unsigned-build.incremental.txt as outlined in - Verifying sha256sums (advancded) above.

+ Checksum verification above. +

+
+
+ + +
+ + +
+

Send us your question!

+ +
+
+ + +
+ + +
+

+ This needs to be explained. Help! +

+ +
+
+