(self, backend, subtests)
| 534 | ) |
| 535 | class TestDSASignature: |
| 536 | def test_dsa_signing(self, backend, subtests): |
| 537 | vectors = load_vectors_from_file( |
| 538 | os.path.join("asymmetric", "DSA", "FIPS_186-3", "SigGen.txt"), |
| 539 | load_fips_dsa_sig_vectors, |
| 540 | ) |
| 541 | for vector in vectors: |
| 542 | with subtests.test(): |
| 543 | digest_algorithm = vector["digest_algorithm"].replace("-", "") |
| 544 | algorithm = _ALGORITHMS_DICT[digest_algorithm] |
| 545 | |
| 546 | _skip_if_dsa_not_supported( |
| 547 | backend, algorithm, vector["p"], vector["q"], vector["g"] |
| 548 | ) |
| 549 | |
| 550 | private_key = dsa.DSAPrivateNumbers( |
| 551 | public_numbers=dsa.DSAPublicNumbers( |
| 552 | parameter_numbers=dsa.DSAParameterNumbers( |
| 553 | vector["p"], vector["q"], vector["g"] |
| 554 | ), |
| 555 | y=vector["y"], |
| 556 | ), |
| 557 | x=vector["x"], |
| 558 | ).private_key(backend) |
| 559 | signature = private_key.sign(vector["msg"], algorithm) |
| 560 | assert signature |
| 561 | |
| 562 | private_key.public_key().verify( |
| 563 | signature, vector["msg"], algorithm |
| 564 | ) |
| 565 | |
| 566 | def test_sign(self, backend): |
| 567 | private_key = DSA_KEY_1024.private_key(backend) |
nothing calls this directly
no test coverage detected