10

I have a less-than-reliable internet connection, so my download of Yosemite over the App Store has been broken over several tries. I would like to know if my download is intact. If you can run this command in Terminal:

shasum /Applications/Install\ OS\ X\ Yosemite.app/Contents/SharedSupport/InstallESD.dmg

and share your result. This way we can agree on what a clean copy looks like.

10

I run your request and here is the result.

eebf02a20ac27665a966957eec6f5e6fe3228a19  /Applications/Install OS X Yosemite.app/Contents/SharedSupport/InstallESD.dmg

And for Yosemite 10.10.1 the shasum is:

a673c2c6d967f4da2934b7d6cf3736936970b194

Please wait about a minute or two for Terminal to get the number.

  • Thanks. I will be able to collaborate that in "6 hours 43 minutes", then I will check the answer. – fartheraway Oct 17 '14 at 3:10
  • 1
    Yep. This is the same result for me. – fartheraway Oct 17 '14 at 6:31
  • 1
    what does it mean if i got a different result? i got this: >059f2603a91465bcee24c864d446da30df920f85 /Applications/Install OS X Yosemite.app/Contents/SharedSupport/InstallESD.dmg – Amanda Mar 1 '15 at 18:33
  • @Amanda Which Yosemite are you trying to use (Version ?) – Ruskes Mar 1 '15 at 19:16
  • 2
    @GrahamPerrin I don't have the file/app available anymore so I can't verify, but other references point to the same hash I posted earlier, e.g. github.com/drduh/OS-X-Security-and-Privacy-Guide/blob/master/… – djule5 Jul 18 '16 at 16:19
8

Why not check the signature instead? That way, you won't have to rely on an external checksum.

Here's an example of this done with a Mavericks installer (I don't have the Yosemite installer yet):

$ codesign -dvvv Install\ OS\ X\ Mavericks.app/
Executable=…/Install OS X Mavericks.app/Contents/MacOS/Install OS X Mavericks
Identifier=com.apple.InstallAssistant.Mavericks
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20100 size=285 flags=0x200(kill) hashes=7+3 location=embedded
Hash type=sha1 size=20
CDHash=9bf12663fe5f73d2780eb2badc2fe7a86a2c7164
Signature size=4169
Authority=Apple Mac OS Application Signing
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Info.plist entries=30
TeamIdentifier=not set
Sealed Resources version=1 rules=14 files=80
Internal requirements count=1 size=124
  • So... how does the signature help me check the integrity of the download? Can you elaborate? – fartheraway Oct 17 '14 at 3:06
  • 1
    A digital signature is a way to verify that a file hasn't been tampered with or is corrupted, and will become invalid if it is. A digital signature is based on cryptography and is designed to be very hard to fake. – Jonas Oct 17 '14 at 18:33
  • 10
    How would you tell if it's invalid? I ran this command on the OS X Yosemite installer, then tried adding a file to the .app directory, and also tried modifying version.plist, and the output of this command did not change. – Henrik N Oct 18 '14 at 14:45
  • @HenrikN that should be a great question; if you find it (or make it, yourself) please share a link. – Graham Perrin Jul 18 '16 at 3:36
  • @GrahamPerrin This was two years ago, so I'm not motivated to do so, but go for it if you like :) – Henrik N Jul 18 '16 at 12:19
1

Complementing the accepted answer for 10.10


10.10.1

Version 1.6.7 (1014) of Install OS X Yosemite.app

a673c2c6d967f4da2934b7d6cf3736936970b194


10.10.2

Version 1.6.10 (1017) of the app

059f2603a91465bcee24c864d446da30df920f85

Please note, that differs from revision 2 of the accepted answer; the result added to that revision was truly for 10.10.1.


10.10.3

Version 1.6.16 (1023) of the app

dc4d4d0a7cd4aea4514025d23a58d05107369fa9


10.10.5

Version 1.6.43 (1043) of the app, downloaded from App Store first on Sunday 2016-07-17, again on 2016-07-18

0e063fd87d5b0a4f68dbd35da95b2018748f88eb

At https://github.com/drduh/OS-X-Security-and-Privacy-Guide/blob/master/InstallESD_Hashes.csv and from commentary under the accepted answer:

ef5cc8851b893dbe4bc9a5cf5c648c10450af6bc

Concerning the discrepancy: https://github.com/drduh/OS-X-Security-and-Privacy-Guide/issues/125


Records of my checks for .5

Mashemite:Desktop grahamperrin$ cd /Applications/Install\ OS\ X\ Yosemite.app/Contents/SharedSupport/
Mashemite:SharedSupport grahamperrin$ shasum InstallESD.dmg
0e063fd87d5b0a4f68dbd35da95b2018748f88eb  InstallESD.dmg
Mashemite:SharedSupport grahamperrin$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.12
BuildVersion:   16A239m
Mashemite:SharedSupport grahamperrin$

– and with reference to Mac OS X: How to verify a SHA-1 digest - Apple Support:

Mashemite:SharedSupport grahamperrin$ openssl sha1 InstallESD.dmg 
SHA1(InstallESD.dmg)= 0e063fd87d5b0a4f68dbd35da95b2018748f88eb
Mashemite:SharedSupport grahamperrin$ 

The record of my checks for .3, .2 and .1

$ sudo zfs mount
zhandy                          /Volumes/zhandy
$ pwd
/Volumes/zhandy/chronological/OS X/10/10/3/1.6.16 (1023)/Install OS X Yosemite.app/Contents/SharedSupport
$ time shasum InstallESD.dmg
dc4d4d0a7cd4aea4514025d23a58d05107369fa9  InstallESD.dmg
13.47user 2.21system 4:25.25elapsed 5%CPU (0avgtext+0avgdata 6864maxresident)k
11084834inputs+0outputs (0major+762minor)pagefaults 0swaps
$ cd /Volumes/zhandy/chronological/OS\ X/10/10/2/1.6.10\ \(1017\)/Install\ OS\ X\ Yosemite.app/Contents/SharedSupport/
$ time shasum InstallESD.dmg
059f2603a91465bcee24c864d446da30df920f85  InstallESD.dmg
12.66user 2.03system 3:52.58elapsed 6%CPU (0avgtext+0avgdata 6732maxresident)k
10182180inputs+0outputs (0major+760minor)pagefaults 0swaps
$ cd /Volumes/zhandy/chronological/OS\ X/10/10/1/1.6.7\ \(1014\)/Install\ OS\ X\ Yosemite.app/Contents/SharedSupport/
$ time shasum InstallESD.dmg
a673c2c6d967f4da2934b7d6cf3736936970b194  InstallESD.dmg
12.39user 1.95system 3:36.28elapsed 6%CPU (0avgtext+0avgdata 6804maxresident)k
10159544inputs+0outputs (0major+762minor)pagefaults 0swaps
$ sudo zpool status
[sudo] password for grahamperrin: 
  pool: zhandy
 state: ONLINE
status: The pool is formatted using a legacy on-disk format.  The pool can
        still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'.  Once this is done, the
        pool will no longer be accessible on software that does not support
        feature flags.
  scan: scrub in progress since Sun Jul 17 19:22:15 2016
    26.9G scanned out of 513G at 15.7M/s, 8h50m to go
    0 repaired, 5.25% done
config:

        NAME                                        STATE     READ WRITE CKSUM
        zhandy                                      ONLINE       0     0     0
          ata-SAMSUNG_HM641JI_S2HUJ9FBA00492-part2  ONLINE       0     0     0

errors: No known data errors
$ date ; uname -a
Sun 17 Jul 20:05:10 BST 2016
Linux momh167-gjp4-kubuntu-hpelitebook850g2 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ 

Certainty that the checksummed data for .3, .2 and .1 has not changed since it was written to my disk

$ date ; sudo zpool status
Mon 18 Jul 04:29:41 BST 2016
[sudo] password for grahamperrin: 
  pool: zhandy
 state: ONLINE
status: The pool is formatted using a legacy on-disk format.  The pool can
        still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'.  Once this is done, the
        pool will no longer be accessible on software that does not support
        feature flags.
  scan: scrub repaired 0 in 7h43m with 0 errors on Mon Jul 18 03:05:25 2016
config:

        NAME                                        STATE     READ WRITE CKSUM
        zhandy                                      ONLINE       0     0     0
          ata-SAMSUNG_HM641JI_S2HUJ9FBA00492-part2  ONLINE       0     0     0

errors: No known data errors
$ 

Confirming that the version of the app for 10.10.1 was 1.6.7

$ cd /Volumes/zhandy/chronological/OS\ X/10/10/1/1.6.7\ \(1014\)/Install\ OS\ X\ Yosemite.app/Contents/
$ cat version.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>BuildAliasOf</key>
        <string>InstallAssistant</string>
        <key>BuildVersion</key>
        <string>286</string>
        <key>CFBundleShortVersionString</key>
        <string>1.6.7</string>
        <key>CFBundleVersion</key>
        <string>1014</string>
        <key>ProjectName</key>
        <string>InstallAssistant_MAS</string>
        <key>SourceVersion</key>
        <string>532000000000000</string>
</dict>
</plist>
$ 

For 10.10.4, I never downloaded the installer.

0

You can use apple's digital signature check , as shown here https://support.apple.com/en-ap/HT202369

  • 2
    Welcome to Ask Different! Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. – Jaime Santa Cruz Jul 27 '15 at 1:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .