@@ -332,6 +332,232 @@ license is available at: http://aws.amazon.com/apache2.0/
332
332
Verifying the Signature
333
333
-----------------------
334
334
335
- .. include :: signing.rst
335
+ This section describes the recommended process of verifying the validity of the
336
+ AWS Data Science Workflows Python SDK's compiled distributions on
337
+ `PyPI <https://pypi.org/project/stepfunctions/ >`__.
338
+
339
+ Whenever you download an application from the internet, we recommend that you
340
+ authenticate the identity of the software publisher and check that the
341
+ application is not altered or corrupted since it was published. This protects
342
+ you from installing a version of the application that contains a virus or other
343
+ malicious code.
344
+
345
+ If after running the steps in this topic, you determine that the distribution
346
+ for the AWS Data Science Workflows Python SDK is altered or corrupted, do NOT
347
+ install the package. Instead, contact AWS Support (https://aws.amazon.com/contact-us/).
348
+
349
+ AWS Data Science Workflows Python SDK distributions on PyPI are signed using
350
+ GnuPG, an open source implementation of the Pretty Good Privacy (OpenPGP)
351
+ standard for secure digital signatures. GnuPG (also known as GPG) provides
352
+ authentication and integrity checking through a digital signature. For more
353
+ information about PGP and GnuPG (GPG), see http://www.gnupg.org.
354
+
355
+ The first step is to establish trust with the software publisher. Download the
356
+ public key of the software publisher, check that the owner of the public key is
357
+ who they claim to be, and then add the public key to your keyring. Your keyring
358
+ is a collection of known public keys. After you establish the authenticity of
359
+ the public key, you can use it to verify the signature of the application.
360
+
361
+ Topics
362
+ ~~~~~~
363
+
364
+ 1. `Installing the GPG Tools <#installing-the-gpg-tools >`__
365
+ 2. `Authenticating and Importing the Public Key <#authenticating-and-importing-the-public-key >`__
366
+ 3. `Verify the Signature of the Package <#verify-the-signature-of-the-package >`__
367
+
368
+ Installing the GPG Tools
369
+ ~~~~~~~~~~~~~~~~~~~~~~~~
370
+
371
+ If your operating system is Linux or Unix, the GPG tools are likely already
372
+ installed. To test whether the tools are installed on your system, type
373
+ **gpg ** at a command prompt. If the GPG tools are installed, you see a GPG
374
+ command prompt. If the GPG tools are not installed, you see an error stating
375
+ that the command cannot be found. You can install the GnuPG package from a
376
+ repository.
377
+
378
+ **To install GPG tools on Debian-based Linux **
379
+
380
+ From a terminal, run the following command: **apt-get install gnupg **
381
+
382
+ **To install GPG tools on Red Hat–based Linux **
383
+
384
+ From a terminal, run the following command: **yum install gnupg **
385
+
386
+ Authenticating and Importing the Public Key
387
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
388
+
389
+ The next step in the process is to authenticate the AWS Data Science Workflows
390
+ Python SDK public key and add it as a trusted key in your GPG keyring.
391
+
392
+ To authenticate and import the AWS Data Science Workflows Python SDK public key
393
+
394
+ 1. Copy the key from the following text and paste it into a file called
395
+ `data_science_workflows.key `. Make sure to include everything that follows:
396
+
397
+ .. code-block :: text
398
+
399
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
400
+
401
+ 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
449
+ /vQojRxttMc=
450
+ =ovUh
451
+ -----END PGP PUBLIC KEY BLOCK-----
452
+
453
+
454
+ 2. At a command prompt in the directory where you saved
455
+ `data_science_workflows.key `, use the following command to import the AWS Data
456
+ Science Workflows Python SDK public key into your keyring:
457
+
458
+ .. code-block :: text
459
+
460
+ gpg --import data_science_workflows.key
461
+
462
+ The command returns results that are similar to the following:
463
+
464
+ .. code-block :: text
465
+
466
+ gpg: key 60EB103AE314A809: public key "Stepfunctions-Python-SDK-Signing <[email protected] >" imported
467
+ gpg: Total number processed: 1
468
+ gpg: imported: 1
469
+
470
+ Make a note of the key value; you need it in the next step. In the preceding
471
+ example, the key value is 60EB103AE314A809.
472
+
473
+ 3. Verify the fingerprint by running the following command, replacing key-value
474
+ with the value from the preceding step:
475
+
476
+ .. code-block :: text
477
+
478
+ gpg --fingerprint <key-value>
479
+
480
+ This command returns results similar to the following:
481
+
482
+ .. code-block :: text
483
+
484
+ pub rsa4096 2019-10-31 [SC] [expires: 2030-10-31] CC16 0577 B7BF 9D3D 6E5D
485
+ 51C5 60EB 103A E314 A809 uid [ unknown]
486
+ Stepfunctions-Python-SDK-Signing
487
+ <[email protected] > sub rsa4096 2019-10-31 [E]
488
+ [expires: 2030-10-31]
489
+
490
+ Additionally, the fingerprint string should be identical to CC16 0577 B7BF
491
+ 9D3D 6E5D 51C5 60EB 103A E314 A809, as shown in the preceding example.
492
+ Compare the key fingerprint that is returned to the one published on this
493
+ page. They should match. If they don't match, don't install the AWS Data
494
+ Science Workflows Python SDK package, and contact AWS Support.
495
+
496
+ Verify the Signature of the Package
497
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
498
+
499
+ After you install the GPG tools, authenticate and import the AWS Data Science
500
+ Workflows Python SDK public key, and verify that the public key is trusted, you
501
+ are ready to verify the signature of the package.
502
+
503
+ To verify the package signature, do the following.
504
+
505
+ 1. Download the detached signature for the package from PyPI
506
+
507
+ Go to the downloads section for the Data Science Workflows Python SDK
508
+ https://pypi.org/project/stepfunctions/#files on PyPI, Right-click on the SDK
509
+ distribution link, and choose "Copy Link Location/Address".
510
+
511
+ Append the string ".asc" to the end of the link you copied, and paste this
512
+ new link on your browser.
513
+
514
+ Your browser will prompt you to download a file, which is the detatched
515
+ signature associated with the respective distribution. Save the file on your
516
+ local machine.
517
+
518
+ 2. Verify the signature by running the following command at a command prompt
519
+ in the directory where you saved signature file and the AWS Data Science
520
+ Workflows Python SDK installation file. Both files must be present.
521
+
522
+ .. code-block :: text
523
+
524
+ gpg --verify <path-to-detached-signature-file>
525
+
526
+ The output should look something like the following:
527
+
528
+ .. code-block :: text
529
+
530
+ gpg: Signature made Thu 31 Oct 12:14:53 2019 PDT
531
+ gpg: using RSA key CC160577B7BF9D3D6E5D51C560EB103AE314A809
532
+ gpg: Good signature from "Stepfunctions-Python-SDK-Signing <[email protected] >" [unknown]
533
+ gpg: WARNING: This key is not certified with a trusted signature!
534
+ gpg: There is no indication that the signature belongs to the owner.
535
+ Primary key fingerprint: CC16 0577 B7BF 9D3D 6E5D 51C5 60EB 103A E314 A809
536
+
537
+ If the output contains the phrase Good signature from "AWS Data Science
538
+ Workflows Python SDK <
[email protected] >", it means
539
+ that the signature has successfully been verified, and you can proceed to run
540
+ the AWS Data Science Workflows Python SDK package.
541
+
542
+ If the output includes the phrase BAD signature, check whether you performed the
543
+ procedure correctly. If you continue to get this response, don't run the
544
+ installation file that you downloaded previously, and contact AWS Support.
545
+
546
+ The following are details about the warnings you might see:
547
+
548
+ .. code-block :: text
549
+
550
+ WARNING: This key is not certified with a trusted signature! There is no
551
+ indication that the signature belongs to the owner. This refers to your
552
+ personal level of trust in your belief that you possess an authentic public
553
+ key for AWS Data Science Workflows Python SDK. In an ideal world, you would
554
+ visit an AWS office and receive the key in person. However, more often you
555
+ download it from a website. In this case, the website is an AWS website.
556
+
557
+ gpg: no ultimately trusted keys found. This means that the specific key is not
558
+ "ultimately trusted" by you (or by other people whom you trust).
559
+
560
+ For more information, see http://www.gnupg.org.
561
+
336
562
337
563
.. |codebuild | image :: https://codebuild.us-east-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiUkFzRXd6UmdKZkJIZFRPMTRCMmhKYzJqL1U0bEpMdDFvSGJPeXBCSlhQaDBaQVZxYWtnUkZNMmhlclRSeGxCbjZhVTl0dlpiQXFKd1puUFZJK0xmNHN3PSIsIml2UGFyYW1ldGVyU3BlYyI6ImZ2ekJpa3V5ZXgxV3gyczUiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=master
0 commit comments