Skip to content

Instantly share code, notes, and snippets.

@qs-wang
Forked from cevaris/generate_key.sh
Created November 8, 2022 23:21
Show Gist options
  • Save qs-wang/24d1fb32b2c149072081ffc68da9daa6 to your computer and use it in GitHub Desktop.
Save qs-wang/24d1fb32b2c149072081ffc68da9daa6 to your computer and use it in GitHub Desktop.

Revisions

  1. @cevaris cevaris revised this gist Mar 3, 2015. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion sign_verify.py
    Original file line number Diff line number Diff line change
    @@ -26,4 +26,5 @@
    # Load public key and verify message
    verifier = PKCS1_v1_5.new(private_key.publickey())
    verified = verifier.verify(digest, sig)
    assert verified
    assert verified, 'Signature verification failed'
    print 'Successfully verified message'
  2. @cevaris cevaris revised this gist Mar 2, 2015. 1 changed file with 1 addition and 3 deletions.
    4 changes: 1 addition & 3 deletions sign_verify.py
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,5 @@
    #!/usr/bin/env python

    #!/usr/bin/env python

    from base64 import (
    b64encode,
    b64decode,
    @@ -18,7 +16,7 @@

    # Read shared key from file
    private_key = False
    with open ("/tmp/gpg/private_key.pem", "r") as myfile:
    with open ("private_key.pem", "r") as myfile:
    private_key = RSA.importKey(myfile.read())

    # Load private key and sign message
  3. @cevaris cevaris revised this gist Mar 2, 2015. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions requirements.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1 @@
    pycrypto==2.6.1
  4. @cevaris cevaris revised this gist Mar 2, 2015. 1 changed file with 15 additions and 11 deletions.
    26 changes: 15 additions & 11 deletions sign_verify.py
    Original file line number Diff line number Diff line change
    @@ -1,27 +1,31 @@
    #!/usr/bin/env python

    from base64 import b64encode
    #!/usr/bin/env python

    from base64 import (
    b64encode,
    b64decode,
    )

    from Crypto.Hash import SHA256
    from Crypto.Signature import PKCS1_v1_5
    from Crypto.PublicKey import RSA


    message = "I want this stream signed"
    digest = SHA256.new()
    digest.update(message)


    secret_key = False
    # Read shared key from file
    private_key = False
    with open ("/tmp/gpg/private_key.pem", "r") as myfile:
    secret_key = RSA.importKey(myfile.read())

    signer = PKCS1_v1_5.new(secret_key)
    private_key = RSA.importKey(myfile.read())

    # Load private key and sign message
    signer = PKCS1_v1_5.new(private_key)
    sig = signer.sign(digest)
    sig_encode = b64encode(sig)


    verifier = PKCS1_v1_5.new(secret_key.publickey())
    # Load public key and verify message
    verifier = PKCS1_v1_5.new(private_key.publickey())
    verified = verifier.verify(digest, sig)
    assert verified

    import ipdb; ipdb.set_trace()
  5. @cevaris cevaris revised this gist Mar 2, 2015. 1 changed file with 4 additions and 5 deletions.
    9 changes: 4 additions & 5 deletions sign_verify.py
    Original file line number Diff line number Diff line change
    @@ -4,17 +4,14 @@
    from Crypto.Hash import SHA256
    from Crypto.Signature import PKCS1_v1_5
    from Crypto.PublicKey import RSA
    import hashlib


    message = "I want this stream signed"
    message_sha256 = hashlib.sha256(message).digest()
    digest = SHA256.new()
    digest.update(message)


    secret_key = False
    with open ("private_key.pem", "r") as myfile:
    with open ("/tmp/gpg/private_key.pem", "r") as myfile:
    secret_key = RSA.importKey(myfile.read())

    signer = PKCS1_v1_5.new(secret_key)
    @@ -25,4 +22,6 @@

    verifier = PKCS1_v1_5.new(secret_key.publickey())
    verified = verifier.verify(digest, sig)
    assert verified
    assert verified

    import ipdb; ipdb.set_trace()
  6. @cevaris cevaris created this gist Mar 2, 2015.
    4 changes: 4 additions & 0 deletions generate_key.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,4 @@
    #!/usr/bin/env bash

    # Generate RSA private key
    openssl genrsa -out private_key.pem 1024
    28 changes: 28 additions & 0 deletions sign_verify.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@
    #!/usr/bin/env python

    from base64 import b64encode
    from Crypto.Hash import SHA256
    from Crypto.Signature import PKCS1_v1_5
    from Crypto.PublicKey import RSA
    import hashlib


    message = "I want this stream signed"
    message_sha256 = hashlib.sha256(message).digest()
    digest = SHA256.new()
    digest.update(message)


    secret_key = False
    with open ("private_key.pem", "r") as myfile:
    secret_key = RSA.importKey(myfile.read())

    signer = PKCS1_v1_5.new(secret_key)

    sig = signer.sign(digest)
    sig_encode = b64encode(sig)


    verifier = PKCS1_v1_5.new(secret_key.publickey())
    verified = verifier.verify(digest, sig)
    assert verified