DyScan
Search…
Integrity Verification
You can verify the integrity and authenticity of a DyScan release, which assures you that you are using the original, unmodified files that we released. Steps are described below.

Install GnuPG

Download is available under "binary releases" section here: https://gnupg.org/download/
Alternatively if you are using Homebrew on Mac OS, you can run this command:
1
brew install gnupg
Copied!

Get our public key

You will need our public key to verify the signature. Here is the key:
1
-----BEGIN PGP PUBLIC KEY BLOCK-----
2
3
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
50
/pPjUftYrBTseg6i4M+nFfzO6w==
51
=fl+n
52
-----END PGP PUBLIC KEY BLOCK-----
Copied!
Save it to a file (ex. dyneti.gpg) and run this command to import the key:
1
gpg --import dyneti.gpg
Copied!

Checksums and signatures

Checksums and signatures are available in the same directory as your chosen release version. Examples below:
Latest iOS SDK release for Swift 5.1 in dyscan-ios-distribution repository: https://github.com/Dyneti/dyscan-ios-distribution/tree/master/Swift5_1
Latest Android SDK release in dyscan-android-distribution repository: https://github.com/Dyneti/dyscan-android-distribution

Verify Android

Go to your dyscan.aar file location and ensure the checksum and signature files are there.
Run this command to generate checksum for your local copy of dyscan.aar and compare with our checksum:
1
shasum -a 256 dyscan.aar > dyscan-local.aar.sha256
2
diff dyscan.aar.sha256 dyscan-local.aar.sha256
Copied!
If the command doesn't produce any output, it means that the checksums are the same.
If you've imported our public key, you can verify the signature of the checksum using this command:
1
gpg --verify dyscan.aar.sig dyscan.aar.sha256
Copied!
The command will output the signature date, RSA key, creator info and verification result: good or bad signature.
1
gpg: Signature made Fri Mar 20 21:11:08 2020 CET
2
gpg: using RSA key 9651699E6D0A65FA229E6E85A5C99B1BF398E5A6
3
gpg: Good signature from "Dyneti Technologies, Inc. <[email protected]>" [ultimate]
Copied!

Verify iOS

Go to your DyScan.framework location and ensure the checksum and signature files are there.
Run this command to generate checksum for your local copy of DyScan.framework and compare with our checksum:
1
find DyScan.framework -type f -exec shasum -a 256 {} \; > DyScan-local.framework.sha256
2
diff DyScan.framework.sha256 DyScan-local.framework.sha256
Copied!
If the command doesn't produce any output, it means that the checksums are the same.
If you've imported our public key, you can verify the signature of the checksum using this command:
1
gpg --verify DyScan.framework.sig DyScan.framework.sha256
Copied!
The command will output the signature date, RSA key, creator info and verification result: good or bad signature.
1
gpg: Signature made Fri Mar 20 21:11:08 2020 CET
2
gpg: using RSA key 9651699E6D0A65FA229E6E85A5C99B1BF398E5A6
3
gpg: Good signature from "Dyneti Technologies, Inc. <[email protected]>" [ultimate]
Copied!
Last modified 1yr ago