33

GitHub itself is signing commits made through the online editor using the key 0x4AEE18F83AFDEB23: From: https://help.github.com/articles/about-gpg/ GitHub will automatically sign commits you make using the GitHub web interface. These commits will have a verified status on GitHub. You can verify the signature locally using the public key available at https:/...


27

Applications that are signed with a standard code signing certificates need to have a positive reputation in order to pass the Smart Screen filter. Microsoft establishes the reputation of an executable based upon the number of installations world wide of the same application. Since you haven't published your application as yet (and therefore the reputation ...


16

When you sign code, it means that you vouch for that code. When people decide to trust your signature, it means that they trust you to only sign code after you verified that it is trustworthy. When you abuse that trust and someone finds malware with your signature on it, you can expect them to never trust your signature again. When your certificate has a ...


15

Update 2016-12-28: I finally decided to check the CRL as well. And it turns out: Yup, certificate is in there still. Even long after its original expiration date. $ openssl x509 -in 0.dlink.cer -noout -fingerprint | sed 's/://g' SHA1 Fingerprint=3EB44E5FFE6DC72DED703E99902722DB38FFD1CB $ openssl x509 -in 0.dlink.cer -noout -serial serial=...


15

Digital signatures are designed to do three things: Ensure the integrity of the data that has been signed Create some degree of non-repudiation by the signer The purpose you mentioned, which is to authenticate the origin of the message The biggest issue with hash functions that are susceptible to collisions is that you very quickly lose the first design ...


14

Firefox: Yes. Sign your .xpi file using xpisign.py (with a certificate from a trusted issuer, such as Verisign). Integrity: Firefox will report a corrupt add-on if the hashes do not match. Verification: The user just needs to see if the add-on installation prompt says "Name of extension (developer name)" instead of "Name of extension (author not verified)" ...


12

Xander's answer is fundamentally correct: the issue is getting someone else to sign a benign message and use the signature for the malicious one. It is worth noting that although when you make a collision you don't get to decide on the messages directly, you often do get to decide on part of the message. For example I couldn't persuade you to sign "My name ...


11

I've now found an example of an actual download that was signed using an SHA-1 certificate after 1/1/2016. I downloaded KeePass 2.31 using Edge on Windows 10. Edge tells me that "The signature of this file is corrupt or invalid." If I right-click and select "run anyway", or double-click the file in Windows Explorer, SmartScreen blocks the file: Ticking ...


8

To become an intermediate CA you must find a CA who is willing to deal with you. But, it is not possible to restrict the domains an intermediate CA can deal with, so any intermediate CA is as trusted as the CA who signed it and can issue any certificates it wants. Therefore you will probably not find any CA which will sell you the intermediate CA you want. ...


8

This is more of an extended comment/fact-finding entry. Not a fully fledged answer in itself. I don't get it either. It is pretty confusing. But I don't feel so bad not understanding that, because Eric Lawrence is confused by that, too. He used to be an Internet Explorer developer but now works on Google Chrome. And he knows his way around certificates. (So ...


8

While you can sign the software this does not mean that you can store the public key needed for signature validation in the device which should do the verification. Just releasing the public key does not make it magically available on all places which need to do the verification. In case of SecureBoot the UEFI system which needs to validate the signatures ...


7

A certificate for a Time Stamp Authority is accepted as such only if it contains an Extended Key Usage extension which itself advertises the specific id-kp-timeStamping object identifier (aka 1.3.6.1.5.5.7.3.8). Though Authenticode time stamps do not follow the RFC 3161 format, the rules on the TSA certificate are still the same (see section 2.3). There is ...


7

In order to tell the end user that the YOU are the actual owner of the app, you MUST buy a certificate from a trusted third party (a party which is also trusted by Windows). These third parties are called Certificate Authorities (CA). Here's how you can get a certificate from a CA (according to MSDN). How the end user will know its from him, not from me. ...


7

If you're looking for signed binaries you may find elfsign and elfverify to be of interest to you. This doesn't provide a tie in for the linker. It's a manually process that writes the signature into the ELF header. Additionally, I would suggest checking out the kernel's IMA appraisal extension. See also, 2013 Signing ELF binaries 2012 IMA appraisal ...


7

To add to @Jonathan Cross's answer... Signature rules When will GitHub sign commits GitHub will sign commits made using the web UI GitHub will sign standard merges made using the web UI GitHub will sign commits made by squashing to merge using the web UI When will GitHub not sign commits GitHub will not sign commits made by rebasing with the web UI Why ...


7

Instead of blindly accepting a GPG key from an answer here, I would do the "right" thing and get the public key from a reasonable source. GitHub hosts their web flow GPG public key at the following address: https://github.com/web-flow.gpg If you decide that you trust this source, and believe it to be a place where GitHub would logically provide it's public ...


6

This is why Microsoft recommends to never remove expired code signing certs from CRLs. An alternative scenario: attacker signs their malware before cert expiry. If they can remain undiscovered past cert expiry, then the cert won't get added to the CRL even on discovery, and their malware will never get blocked. Thus the revocation status of code signing ...


6

Code signing is just that - you add a signature to the file with your private key. This signature shows whoever downloads your file that it was signed in it's current form by the person holding the private key. If an application is popular, there is always the danger that someone alters the file to be malevolent. If the file is digitally signed, the user now ...


6

If you have a standard code signing certificate, some time will be needed for your application to build trust. Microsoft affirms that an Extended Validation (EV) Code Signing Certificate allows to skip this period of trust building. According to Microsoft, extended validation certificates allow the developer to immediately establish reputation with ...


6

No, tamper-resistant applications implemented purely in software are unfortunately impossible. Software which runs on the user's machine is under the user's control. The user can extract any secret keys from the program, either from memory at runtime or from the program's binary code. A program and/or the data it uses can not be effectively encrypted, ...


6

Certificates in general Certificates are complicated, I don't blame you. By far, the most common use-case for certificates is for TLS websites where you need to submit a Certificate Signing Request (CSR) to a publicly-trusted CA in order to obtain a certificate that browsers will accept. In that case you revoke your certificate by contacting the CA who ...


6

To complement the comment by @JozefIzso: The binary became trusted after about one month. While the further release become trusted after about 10 days only, third release did not become trusted for weeks again. It does not look like a standard code signing certificate can be used nowadays. We gave up and went for EV certificate.


5

There are a number of local processes that will watch files and directories for any changes, writes, deletions, and accesses. When these events occur, the process creates an event log through syslog. This can happen in a second. If the syslog entries are sent to a remote server (as they should be) you will have nearly instant alerting to file changes, ...


5

OCSP provides a dynamic mechanism for checking whether a given certificate has been compromised or not and, in case it has been compromised, after what date (and time) should signatures using this certificate considered unsafe (basically, it is a dynamic version of CRLs). This has several consequences: OCSP responses SHOULD be backdated in case they ...


5

Use https. This will encrypt and sign all your content between your server and the users web browser. This does not protect from modification on your server, of course, but when your server is compromised then everything is lost anyway. Web application security simply doesn't work if the server gets compromised. If you want to sign your code, then Browser-...


5

There are 3 digests in a timestamped Authenticode signature that you have control over. The digest of your certificate. A recently purchased certificate will use SHA-256. Most CAs switched to issuing SHA-256 certificates during 2014. They only provide SHA-1 certificates on special request. A quick way to check your certificate is to right-click on an ....


5

Answering your direct question: You should read the pages on Secure Apt Ubuntu, and a slightly more thorough page on Secure Apt Debian. The summary is that packages are signed using gpg (aka "gnupg") which is a distributed web-of-trust style public key infrastructure - this should make you happy. In the PGP / GPG world, people sign each other's ...


5

Windows 7 doesn't support SHA256 signatures by default. You need to apply this update, in order to get the desired functionality.


5

I think Software Restriction Policies are what you're looking for. It is basically the predecessor to Applocker, and it is still supported for application whitelisting or blacklisting. It isn't as powerful or comprehensive as Applocker, but on Professional versions without Applocker, it can get the job done. See Spiceworks Guide on Deployment and Microsoft ...


5

Catalog files have actually been around since Windows 2000/XP. They are an alternative to signing single binaries as you attach one signature to the catalog file rather than a signature to every single binary. You can use either one to the same effect, but catalog files are more efficient for a large collection of files. Microsoft typically does not ...


Only top voted, non community-wiki answers of a minimum length are eligible