[{"data":1,"prerenderedAt":549},["ShallowReactive",2],{"project-18842218":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":45,"post_text":47,"what":48,"said":68,"maker_in_thread":169,"shape":181,"grid":184,"attempts":512,"same_week":513,"maker_shows":16,"maker_hidden":541,"reader_version":542,"card":543},"18842218","Mkcert","Valid HTTPS certificates for localhost","title","Show HN: Mkcert – Valid HTTPS certificates for localhost","https:\u002F\u002Fblog.filippo.io\u002Fmkcert-valid-https-certificates-for-localhost\u002F","blog.filippo.io","FiloSottile",1546827344,2019,839,115,7,2195,1,"legend","dev_tools","certificate generator","cli",[24,25,26,27,28],"https","localhost","tls certificate","local ca","development","mixed",-0.047,{"positive":32,"neutral":33,"mixed":34,"critical":35},8,18,0,13,39,{"privacy":38,"design":40,"idea":41,"execution":43},{"positive":34,"critical":39},4,{"positive":34,"critical":18},{"positive":16,"critical":42},5,{"positive":34,"critical":44},2,[18,18,46,18,18,34,44,18,46,34,34,34,34,34,18,46,34,18,46,46,18,39,46,34,34,34,18,42,34,42,34,46,34,34,34,34,42,42,46,39],3,null,{"problem":47,"audience":49,"pricing":47,"motivation":47,"time_to_build":47,"stack":65,"openness":66,"stage":67,"team_size":67},{"value":50,"source":51,"evidence":52},"Web developers testing HTTPS locally","inferred",[53,57,61],{"id":54,"by":55,"text":56},"18843079","jypepin","This is great, will definitely check this out. I just struggled for hours following multiple blog posts and howtos to setup https locally, because I was trying to test Facebook…",{"id":58,"by":59,"text":60},"18844601","hopeless","I've been using https:\u002F\u002Fwww.tinycert.org\u002F for years which basically lets you create your own certificate authority and issue certs (which obviously aren't trusted by everyone but…",{"id":62,"by":63,"text":64},"18843504","kureikain","I love this tool a lot. It's super helpful. I usually can get away with this but some tool really require it. For example, I implement google oauth flow recently and they have a…",[],"open_source","unknown",{"praise":69,"objections":84,"requests":111,"questions":127,"alternatives":142},[70],{"value":71,"source":72,"evidence":73},"Useful for testing HTTPS locally, e.g. OAuth and WebRTC work","commenter",[74,78,79,80],{"id":75,"by":76,"text":77},"18845583","j1elo","I've always worked around low-level C++ so never got the need to understand how HTTPS certificates work... until I needed to test some code for WebRTC applications. This tool was…",{"id":54,"by":55,"text":56},{"id":62,"by":63,"text":64},{"id":81,"by":82,"text":83},"18842970","anderspitman","Well this is timely. I spent several hours today trying to get local https working. I needed it because iOS Safari will only let you make getUserMedia (WebRTC) requests for the…",[85,96,104],{"value":86,"source":72,"evidence":87},"Storing the CA private key user-readable weakens the trust boundary",[88,92],{"id":89,"by":90,"text":91},"18843096","regecks","I don't understand why you made the CA private key user-readable. On my system, modifying the trust anchors requires root privileges. mkcert undoes this boundary by opening a…",{"id":93,"by":94,"text":95},"18844520","ricardobeat","Am I wrong to think this opens a gaping security hole? Adding a new root CA means anyone who gets their hands on the keys (which are openly available to the user of mkcert) gets…",{"value":97,"source":72,"evidence":98},"Installing a root CA on the system is a security risk",[99,100],{"id":93,"by":94,"text":95},{"id":101,"by":102,"text":103},"18844958","buybackoff","For local web dev\u002Ftesting most tools generate test temp certificates automatically or it's easy to get them, so the only issue is using it in production e.g. for communicating…",{"value":105,"source":72,"evidence":106},"Release binaries are not signed",[107],{"id":108,"by":109,"text":110},"18842657","CaliforniaKarl","I have one slight concern, and one snark. The slight concern is, I'm concerned that most of the pre-built binaries (the \"pre-built binaries link\" goes to…",[112,119],{"value":113,"source":72,"evidence":114},"Option to install to specific trust stores only",[115],{"id":116,"by":117,"text":118},"18843939","aorth","Cool. I wish there was an option to specify which trust stores to install to, for example only to Firefox's. The current default is to install in system (requires sudo), Chrome…",{"value":120,"source":72,"evidence":121},"Name-constrained root CA option",[122,126],{"id":123,"by":124,"text":125},"18843241","tedunangst","It would be nice if the root could be generated with name constraints so losing it isn't quite so catastrophic.",{"id":101,"by":102,"text":103},[128,135],{"value":129,"source":72,"evidence":130},"Why use HTTPS on localhost at all",[131],{"id":132,"by":133,"text":134},"18843430","psonama","what is the benefit of having a certificate in localhost? I don't really see the point if you are on your local machine",{"value":136,"source":72,"evidence":137},"Does it work with Docker containers",[138],{"id":139,"by":140,"text":141},"18842571","alexandernst","Will it work inside a Docker container and my browser in my bare metal?",[143,154,161],{"value":144,"source":72,"evidence":145},"Let's Encrypt with a real domain resolving to 127.0.0.1",[146,150],{"id":147,"by":148,"text":149},"18844218","speleding","Do you really want a valid certificate for localhost? I can get a valid certificate for development by simply getting a valid certificate for localhost.example.com on my server…",{"id":151,"by":152,"text":153},"18845616","sonaltr","I'm almost 99% certain that everyone who's this concerned - already has a domain. (or they can get a free domain from something like .tk - as it really does not matter since this…",{"value":155,"source":72,"evidence":156},"chrome:\u002F\u002Fflags allow-insecure-localhost",[157],{"id":158,"by":159,"text":160},"18842250","zamadatix","Private CA is a good route if you plan on setting up a long standing internal only test server and devices. OTOH if you just want to access https:\u002F\u002Flocalhost on your PC things…",{"value":162,"source":72,"evidence":163},"XCA certificate tool",[164,168],{"id":165,"by":166,"text":167},"18842679","exabrial","If you need to keep a database of certs, checkout XCA.",{"id":101,"by":102,"text":103},{"comments":170,"answered":46,"key":171},6,[172,175,178],{"id":173,"text":174},"18844416","That is a fair argument, but it is already possible to get the behavior you want: the root key is generated with permissions 0400, so if your first run of mkcert is with root,…",{"id":176,"text":177},"18842711","Current desktop OSes don’t offer fine grained permissions, so there is no reason to hold software with specific features to a higher standard of integrity. Still, I recommend you…",{"id":179,"text":180},"18842918",":\u002F",{"commenters":182,"max_depth":16,"maker_replies":170,"first_comment_mins":32,"lifespan_hours":183},87,59,[185,187,191,193,197,201,205,207,210,213,215,219,222,226,228,232,234,238,241,244,246,248,252,253,257,260,263,265,268,271,274,277,280,283,286,289,291,294,297,300,302,305,309,312,315,318,321,323,325,327,330,333,336,337,340,342,345,347,350,351,353,356,359,361,362,363,365,369,371,375,378,380,383,387,389,391,395,398,401,404,406,410,413,415,419,422,424,426,428,430,433,437,439,443,445,447,450,454,458,461,464,466,469,471,475,479,482,484,487,491,495,497,501,505,510],[89,34,18,186,90,34],"project\u002Fcritical\u002Fprivacy",[188,34,18,189,190,34],"18843942","project\u002Fcritical\u002Fdesign","amelius",[192,34,18,186,90,34],"18844100",[194,34,34,195,196,34],"18844279","commenter\u002Fneutral\u002Fdesign","grahamedgecombe",[198,34,46,199,200,34],"18844994","project\u002Fneutral\u002Fdesign","vectorEQ",[202,34,46,203,204,34],"18855270","project\u002Fneutral\u002Fprivacy","SomeHacker44",[173,34,34,206,11,18],"maker\u002Fneutral\u002Fprivacy",[208,34,46,203,209,34],"18845304","Natanael_L",[211,34,46,199,212,34],"18845582","morpheuskafka",[147,18,18,214,148,34],"project\u002Fcritical\u002Fidea",[216,18,34,217,218,34],"18844593","commenter\u002Fneutral\u002Fidea","therealchiko",[220,18,18,214,221,34],"18844752","nickjj",[223,18,34,224,225,34],"18844957","commenter\u002Fneutral\u002Fnone","darrenf",[227,18,34,224,200,34],"18845004",[229,18,34,230,231,34],"18845166","commenter\u002Fneutral\u002Fprivacy","jenscow",[233,18,34,230,148,34],"18845483",[235,18,34,236,237,34],"18845322","other\u002Fneutral\u002Fnone","beavis2",[239,18,46,240,212,34],"18845612","project\u002Fneutral\u002Fidea",[242,18,46,240,243,34],"18847387","chupasaurus",[108,44,18,245,109,34],"project\u002Fcritical\u002Fexecution",[176,44,34,247,11,18],"maker\u002Fneutral\u002Fnone",[249,44,18,250,251,34],"18842907","maker\u002Fcritical\u002Fnone","Waterluvian",[179,44,34,247,11,18],[254,44,46,255,256,34],"18842941","project\u002Fneutral\u002Fexecution","segfaultbuserr",[258,44,34,224,259,34],"18846642","pastage",[261,44,34,224,262,34],"18842972","nodesocket",[264,44,34,247,11,18],"18842986",[266,44,34,224,267,34],"18849026","forty",[269,44,34,224,270,34],"18844222","mgamache",[272,44,34,230,273,34],"18843731","josteink",[275,44,34,230,276,34],"18844283","stephenr",[278,44,34,230,279,34],"18844329","ZoFreX",[281,44,34,230,282,34],"18844436","detaro",[284,44,34,224,285,34],"18843783","tallanvor",[287,44,34,224,288,34],"18844798","rospaya",[290,44,34,224,276,34],"18845702",[292,44,34,236,293,34],"18849248","tialaramex",[295,44,34,236,296,34],"18844101","isostatic",[298,44,34,224,299,34],"18844173","yoshuaw",[301,44,34,236,296,34],"18855109",[303,44,34,236,304,34],"18849835","LinuxBender",[306,46,46,307,308,34],"18842621","project\u002Fneutral\u002Fnone","Sidnicious",[310,46,18,214,311,34],"18842747","helloguillecl",[313,46,46,240,314,34],"18842934","devereaux",[316,46,34,236,317,34],"18844312","Fnoord",[319,46,34,224,320,34],"18844395","prodimmune",[322,46,34,224,314,34],"18844437",[324,46,34,224,317,34],"18849525",[326,46,34,224,317,34],"18849484",[328,46,18,245,329,34],"18843844","sthottingal",[331,46,34,224,332,34],"18844296","runn1ng",[334,46,34,224,335,34],"18844321","jwatt",[81,39,46,307,82,34],[338,39,34,224,339,34],"18843034","untog",[341,39,34,224,82,34],"18843205",[343,39,46,307,344,34],"18843051","anandpdoshi",[346,39,46,307,82,34],"18843215",[348,39,34,236,349,34],"18844157","masklinn",[158,42,18,214,159,34],[352,42,34,247,11,18],"18842558",[354,42,46,307,355,34],"18842753","gruez",[357,42,46,307,358,34],"18843382","lamuh4",[75,170,42,360,76,34],"project\u002Fpositive\u002Fidea",[101,16,18,186,102,34],[116,32,46,199,117,34],[54,364,42,360,55,34],9,[366,364,34,367,368,34],"18843209","other\u002Fcritical\u002Fnone","new_guy",[370,364,34,224,55,34],"18843233",[372,373,34,236,374,34],"18844392",10,"mode7",[376,373,34,236,377,34],"18844835","sametmax",[379,373,34,236,374,34],"18845569",[381,373,34,236,382,34],"18848828","713233eb",[384,373,34,385,386,34],"18850036","other\u002Fneutral\u002Fprivacy","Gorgor",[58,388,34,236,59,34],11,[93,390,18,186,94,34],12,[392,390,34,393,394,34],"18844932","commenter\u002Fmixed\u002Fprivacy","biggerfisch",[396,390,34,230,397,34],"18845240","cpach",[399,35,34,236,400,34],"18843866","xPaw",[402,35,34,236,403,34],"18844495","unixhero",[62,405,42,360,63,34],14,[407,408,34,236,409,34],"18842940",15,"iheartpotatoes",[411,408,34,217,412,34],"18843981","kabes",[414,408,34,236,409,34],"18845893",[416,417,42,360,418,34],"18843966",16,"jimmychangas",[151,420,34,421,152,34],17,"other\u002Fneutral\u002Fidea",[423,420,34,236,276,34],"18845663",[425,420,34,385,152,34],"18846959",[427,420,34,385,276,34],"18847619",[429,420,34,224,152,34],"18864498",[431,33,34,421,432,34],"18847278","gvx",[434,435,34,236,436,34],"18859716",19,"TimTheTinker",[123,438,46,203,124,34],20,[440,441,34,236,442,34],"18843831",21,"kmarc",[444,441,34,236,377,34],"18844856",[446,441,34,236,442,34],"18845596",[448,441,34,449,377,34],"18854652","other\u002Fpositive\u002Fnone",[451,452,34,421,453,34],"18843316",22,"mic159",[455,452,34,456,457,34],"18843359","commenter\u002Fcritical\u002Fidea","alphabettsy",[459,452,34,456,460,34],"18843482","MehdiHK",[462,452,34,236,463,34],"18844947","jimdigriz",[465,452,34,224,453,34],"18849992",[467,452,34,236,468,34],"18844270","thechriswalker",[470,452,34,224,453,34],"18850058",[472,473,42,360,474,34],"18842772",23,"groovypuppy",[476,477,34,236,478,34],"18849631",24,"kzahel",[480,477,34,236,481,34],"18852590","lioeters",[139,483,46,307,140,34],25,[485,483,34,486,11,18],"18842583","maker\u002Fneutral\u002Fdocs",[488,489,42,360,490,34],"18844165",26,"CoryG89",[492,493,46,307,494,34],"18844364",27,"jpkeisala",[165,496,34,236,166,34],28,[498,499,34,236,500,34],"18843724",29,"simonsaidit",[502,503,42,360,504,34],"18844767",30,"joshwcomeau",[506,507,42,508,509,34],"18842891",31,"project\u002Fpositive\u002Fnone","hartator",[132,511,18,214,133,34],32,[],[514,519,524,529,533,537],{"id":515,"name":516,"points":517,"category":518},"18866500","Ultra Square Catcher (USC)",1079,"games",{"id":520,"name":521,"points":522,"category":523},"18816418","HN.Academy",773,"learning_science",{"id":525,"name":526,"points":527,"category":528},"18866800","sayit",398,"productivity",{"id":530,"name":531,"points":532,"category":528},"18840990","Trilium Notes",328,{"id":534,"name":535,"points":536,"category":523},"18814416","Learn JavaScript Online",305,{"id":538,"name":539,"points":540,"category":20},"18863691","Markdeck",235,false,"v2",{"id":544,"name":5,"line":6,"ai":541,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":545,"top":18,"kw":546,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":547,"url":9,"mix":548,"praise":71,"objection":86,"sub":21},18842218,-0.05,[24,25,26,27,28],"1131102130000013013314300015050300005534",[32,33,34,35],1794036573752]