Links...
 
Tighten Pro
C/C++/Cocoa tool for codesign security, Developer ID, & Mac App Store Receipt Validation

Tighten Pro - in the Mac App Store

Tighten Pro is now available in the Mac App Store. Simply click on the icon to the left to purchase directly from Apple. Or choose PKCS#7Viewer.app by clicking the image to the right.

4.13.2020
Mac Developer: PKCS#7Viewer Updated to 64-bit binary

Refreshed the binaries for PKCS#7Viewer for 64-bit operating systems including all versions of Mac OS X and macOS from 10.8 Mountain Lion to 10.15 Catalina.

Assuming it makes it to the Mac App Store, you can find it there; otherwise, there is a free version available for download from this website.

The question is: "Am I feeling motivated enough to try getting PCKS#7Viewer into the Mac App Store?" Certainly the codesigning procedure has been streamlined in Xcode.
PKCS7Viewer has been notarized for easier access on Catalina - however - some features still are not available; I am continuing to research this issue.

Labels: , , , , , , ,

By : Tighten PKCS#7Viewer Updated to 64-bit binary 0 comments

12.11.2016
Mac Developer: The unbearable fragility of modern Mac OS X development | publicspace.net blog

The unbearable fragility of modern Mac OS X development | publicspace.net blog: "There I’ve done it again: I shipped a broken A Better Finder Rename release despite doubling down on build system verification, code signing requirements validation and gatekeeper acceptance checks, automation, quality assurance measures, etc."

Well said, Fred!

Labels:

By : Tighten The unbearable fragility of modern Mac OS X development | publicspace.net blog 0 comments

11.17.2015
Mac Developer: New Free Version of Tighten now available FREE DOWNLOAD MAC

A new version of TightenFREE is now available for download in the downloads area of this web site.

CHANGES IN THIS UPDATE
  • Fixes for handling app bundles containing receipts signed with "Mac App Store Receipt Signing" certificate which expired on 2015.11.11
  • Updated to verify receipts signed with "Mac App Store and iTunes Store Receipt Signing" certificate expires 2017.10.23 or 2023.02.07.
  • Fixes for 10.8.5 and higher (exception thrown when App bundle opened).
  • Light dusting and cleaning for (32/64) standard binary.

Labels: , ,

By : Tighten New Free Version of Tighten now available FREE DOWNLOAD MAC 0 comments

Mac Developer: New Free Version of PKCS7Viewer.app FREE DOWNLOAD

With the increasing restrictions on sandboxed applications in the Mac App Store, I found it problematic to ship the dumpasn1 command line tool as an update to the version in the Mac App Store. As an alternative, I created a 'free version' of PKCS7Viewer that is signed as a DeveloperID binary and available for download here on the Tighten web site.

DIRECT DOWNLOAD LINK: http://tightenapp.com/dmg/GKPKCS7MAC_esd.dmg.

Labels: , , ,

By : Tighten New Free Version of PKCS7Viewer.app FREE DOWNLOAD 0 comments

Mac Developer: Tighten Pro V2 Generated Receipt Validation Code Patch for Recent Mac App Store Update

On November 11, 2015, the certificate (CN "Mac App Store Receipt Signing") the Mac App Store was using to sign receipts expired. It was replaced by an intermediate certificate (expires: 2017.10.23) which has subsequently been replaced by another certificate ("Mac App Store and iTunes Store Receipt Signing" - expires 2023.02.07).

Code generated by Tighten.app (standard edition) is not affected by the change.

Code generated using the V2 Mac App Store receipt signing template in Tighten Pro must be patched to properly validate the new certificate. In particular, the SHA1 fingerprint of the signing certificate has changed. The new 24-byte value must be updated in two locations:

IN FUNCTION ___MAS_VerifySigningCertificate
static const unsigned char kMASReceiptSigning_CA_SHA1_Bytes[] = {
0x27,0xE2,0x53,0xE3,0x28,0x97,0xD6,0x77,0xB9,0xC9,0xFF,0xCB,0xC2,0xE4,0x8B,0xCD,0xC3,0xFB,0x11,0x01
};

IN FUNCTION: ___MAS_VerifyTrustCertificates
static const unsigned char kLEAFFingerprintBytes[] = { 0x27,0xE2,0x53,0xE3,0x28,0x97,0xD6,0x77,0xB9,0xC9,0xFF,0xCB,0xC2,0xE4,0x8B,0xCD,0xC3,0xFB,0x11,0x01 };

The changes are straightforward and should function correctly through 2023.02.07.

I've also submitted updates to TightenPro and Tighten to the Mac App Store, but apparently the ingest pipeline is like a Rube Goldberg machine and the updates are currently stuck in a dreaded "processing" state which is code language for: don't expect it ever to make it to the next stage of the submission pipe.

Labels: ,

By : Tighten Tighten Pro V2 Generated Receipt Validation Code Patch for Recent Mac App Store Update 0 comments

Mac Developer: Mac App Store and iTunes Store Receipt Signing - NEW CERTIFICATE ATTRIBUTES

The following is the OpenSSL information dump of the current (and presumably canonical until 2023) certificate used to sign receipts in the Mac App Store. I've extracted the three known certificates that have been historically used to sign Mac App Store bundle receipts and placed them in a disk image (password: 'macappstore') for regression testing and debugging purposes.
openssl x509 -fingerprint -sha1
SHA1 Fingerprint=27:E2:53:E3:28:97:D6:77:B9:C9:FF:CB:C2:E4:8B:CD:C3:FB:11:01
--
--openssl x509 -noout -text -in '10.8.5-20230207.darwin.12.6.0.pem'
--
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            0e:eb:57:87:e7:9e:09:8d
        Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=US, O=Apple Inc., OU=Apple Worldwide Developer Relations,
                CN=Apple Worldwide Developer Relations Certification Authority
        Validity
            Not Before: Nov 13 02:15:09 2015 GMT
            Not After : Feb  7 21:48:47 2023 GMT
        Subject: CN=Mac App Store and iTunes Store Receipt Signing,
                 OU=Apple Worldwide Developer Relations, O=Apple Inc., C=US
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (2048 bit)
                Modulus (2048 bit):
                    00:a5:cf:81:fd:25:a2:81:5b:d6:87:ed:23:da:33:
                    1c:8e:e2:23:c0:a5:c4:26:cb:3d:c6:9f:ec:4a:0d:
                    55:86:ff:a4:02:d7:97:ca:39:54:6d:7d:7f:b2:54:
                    18:9d:c4:2c:52:71:8e:64:7b:82:ce:89:ba:49:d6:
                    08:e5:b4:88:71:cf:3f:5b:46:2e:c6:c4:1d:b8:03:
                    a9:58:a2:04:3e:21:78:d5:db:b7:d0:8e:12:8d:83:
                    4c:5b:2a:68:37:93:c2:f2:bd:1e:c4:d2:a1:0c:4a:
                    58:52:ab:12:e3:ed:dd:1f:98:15:90:35:2d:c2:cc:
                    12:ca:8d:48:81:f7:58:78:54:6b:e8:8c:31:36:1f:
                    4a:06:0c:47:54:f3:37:90:b8:b2:92:89:7d:5f:a4:
                    85:4a:e1:c0:9c:e0:ba:a4:bb:82:97:63:f4:2b:93:
                    c1:fd:3e:6f:ca:c1:f5:3c:a9:8f:52:1a:c0:25:0a:
                    76:0e:de:fe:99:fe:ff:c2:6b:f5:5b:5e:ac:73:51:
                    49:08:56:89:cc:43:90:cc:8e:81:02:d0:a0:97:b6:
                    5c:b1:a1:69:69:87:90:10:68:26:26:39:b8:1d:10:
                    73:b0:0a:5d:c5:73:d0:df:76:3b:d8:2d:d9:88:1e:
                    e3:ec:07:cf:e2:8e:d0:d3:fa:26:55:81:ef:e2:03:
                    49:23
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            Authority Information Access: 
                OCSP - URI:http://ocsp.apple.com/ocsp03-wwdr04

            X509v3 Subject Key Identifier: 
                91:A4:9C:FC:C4:76:B7:9F:A0:8A:F4:4D:F5:8F:36:5D:ED:2B:04:85
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Authority Key Identifier: 
                keyid:88:27:17:09:A9:B6:18:60:8B:EC:EB:BA:F6:47:59:C5:52:54:A3:B7

            X509v3 Certificate Policies: 
                Policy: 1.2.840.113635.100.5.6.1
                  User Notice:
                    Explicit Text: Reliance on this certificate by any party assumes acceptance
                                   of the then applicable standard terms and conditions of use, 
                                   certificate policy and certification practice statements.
                  CPS: http://www.apple.com/certificateauthority/

            X509v3 Key Usage: critical
                Digital Signature
            1.2.840.113635.100.6.11.1: 
                ..
    Signature Algorithm: sha1WithRSAEncryption
        0d:a6:1b:d3:2e:3d:e3:5b:2b:07:6e:42:96:6c:d3:e8:8c:43:
        30:82:5f:e0:5c:d1:8d:be:bd:0f:bd:1a:fc:25:92:db:8c:85:
        c3:80:59:df:e3:e2:d7:2e:05:14:ac:0d:db:b6:b8:fe:fc:35:
        2e:7c:cb:ad:17:6b:8e:7f:1f:e4:77:b9:b1:67:95:b4:13:5e:
        a6:19:86:76:f8:5a:20:95:e7:63:8c:0f:73:fc:e8:ed:c6:1f:
        ae:99:f8:65:48:5c:a0:e0:28:3a:c0:10:37:2d:b9:a0:04:39:
        1f:73:b9:c8:05:fd:f2:de:7f:1a:2a:2a:6e:2b:01:fc:a0:20:
        5c:d9:eb:7d:27:a6:33:f8:f5:98:e0:be:44:db:b1:4c:67:fc:
        6e:0a:4f:c9:e2:06:a8:d2:97:f3:a7:8e:6b:51:a2:5a:84:75:
        65:d1:16:04:62:e3:c1:5f:f5:08:a9:cf:68:d9:92:00:c9:c1:
        8c:b3:f8:8d:00:64:ba:58:60:c0:7c:af:8f:75:ca:69:b9:5b:
        2a:d6:1d:68:6e:98:42:f5:4c:a7:37:19:9b:cc:3b:1c:7a:19:
        43:f3:a3:6d:bf:48:60:06:0c:36:92:2b:ec:de:18:b5:11:da:
        2d:23:d0:8e:fc:a0:69:9c:17:1b:9e:80:7b:39:47:45:30:61:
        2f:c7:13:a8

Labels: ,

By : Tighten Mac App Store and iTunes Store Receipt Signing - NEW CERTIFICATE ATTRIBUTES 0 comments

Mac Developer: Mac App Store Receipt Signing - Certificate Expiration and Replacement

As described in many blogs and news outlets, the certificate that Apple servers were using to sign receipts for apps downloaded from the Mac App Store expired on 2015.11.11. There was an interim certificate that was used briefly for a few days. Ultimately, Apple issued a third certificate (expires 2023.02.27) which we can assume is going to be valid going forward.

For your testing purposes, I have extracted all three certificates, dumped their primary attributes with OpenSSL and bundled them into a disk image (password: 'macappstore') for your inspection and testing.

The original (SHA1) certificate:

CN=Mac App Store Receipt Signing
EXPIRES=Nov 11 21:58:01 2015 GMT
SHA1 Fingerprint=4A:7B:3A:17:00:A4:DA:4A:D4:EA:43:3A:83:61:43:2E:CF:1C:A1:AF

The interim and deprecated (SHA256) certificate:

CN=Mac App Store and iTunes Store Receipt Signing
EXPIRES: Oct 23 19:09:31 2017 GMT
SHA1 Fingerprint=15:0C:E7:C4:1F:13:8F:ED:97:3E:94:78:BD:60:29:7A:A8:CB:BC:3F

The current (SHA1) certificate:

CN=Mac App Store and iTunes Store Receipt Signing
EXPIRES= Feb 7 21:48:47 2023 GMT
SHA1 Fingerprint=27:E2:53:E3:28:97:D6:77:B9:C9:FF:CB:C2:E4:8B:CD:C3:FB:11:01

Labels: ,

By : Tighten Mac App Store Receipt Signing - Certificate Expiration and Replacement 0 comments

11.16.2015
Mac Developer: Here's what's happening with the Mac App Store and 'damaged' apps | iMore

Here's what's happening with the Mac App Store and 'damaged' apps | iMore In order to fix the current problem, Apple will need to roll back the MAS certificate to SHA-1 or developers will need to update their receipt validation to use OpenSSL that supports SHA-2. Obviously a roll back on Apple's side would be faster, a developer update better in the long run. Hopefully we'll get both.
I'm not sure this is a good description of the problem. In my case, we were testing for the authenticity of the "Mac App Store Receipt Signing" certificate by testing the SHA1 fingerprint of the certificate. Obviously, when the certificate expired (30 years would have been a good length for that vert), the new certificate would have failed the test, yet still be an authentic Apple cert.

This particular test was part of Tighten's "most restrictive" or "paranoid" receipt validation. Less stringent validation (such as code generated by Tighten App) was not affected in the same way.

Labels: ,

By : Tighten Here's what's happening with the Mac App Store and 'damaged' apps | iMore 0 comments

11.20.2012
Mac Developer: Tighten App 1.0.11 now on the Mac App Store

Tighten App, designed for developers creating $0.99 apps (apps costing less than $5) is now available on the Mac App Store. Tighten App generates custom receipt validation code and provides basic security measures.

Labels: ,

By : Tighten Tighten App 1.0.11 now on the Mac App Store 0 comments

11.15.2012
Mac Developer: Tighten Pro 1.0.11 Released Today

The new release of Tighten Pro 1.0.11 is now available on the Mac App Store. This release includes a total rewrite of the Mac App Store receipt validation code generator including extensive checking of the security trust/certificate chain and new code to parse and validate in-app purchase receipts. The in-app purchase receipt validation code is 100% inline-able and as such can be used throughout your application code (ie. salted). Other new features include security code generation for DeveloperID/Gatekeeper applications and more. Tighten Pro represents a comprehensive solution for application developers dealing with the complexities of deploying to the Mac App Store and protecting their work from piracy.

Labels: , , , ,

By : Tighten Tighten Pro 1.0.11 Released Today 0 comments

 

 
 
 

 Tighten    
 Generate    
 Secure    
 Inspect    
 Quarantino    
 QTZ    
 Downloads    
 Support    
 Documentation    
 Tighten App.app    
 Tighten Pro.app    
 PKCS#7Viewer.app    
 Quarzenegger.app    
 About    
 Hire    
 Contact    
 Blogger    
 FaceBook    
 iTunes Direct Link    
 Hollywood CA    
 spctl --assess -vvv    
 spctl --master-enable    
 spctl --master-disable    
 Mac App Store Receipt Validation    
 Apple Code Signing Certificates    
 Gatekeeper Developer ID Apple    
 Xcode codesign tutorial    
 [Site Map]    
 


Copyright © 2005-2020
All Rights Reserved
Tighten Pro