(self, msg, sig, key)
| 138 | return encode_int(r, size) + encode_int(s, size) |
| 139 | |
| 140 | def verify(self, msg, sig, key): |
| 141 | key_size = key.curve_key_size |
| 142 | length = (key_size + 7) // 8 |
| 143 | |
| 144 | if len(sig) != 2 * length: |
| 145 | return False |
| 146 | |
| 147 | r = decode_int(sig[:length]) |
| 148 | s = decode_int(sig[length:]) |
| 149 | der_sig = encode_dss_signature(r, s) |
| 150 | |
| 151 | try: |
| 152 | op_key = key.get_op_key("verify") |
| 153 | op_key.verify(der_sig, msg, ECDSA(self.hash_alg())) |
| 154 | return True |
| 155 | except InvalidSignature: |
| 156 | return False |
| 157 | |
| 158 | |
| 159 | class RSAPSSAlgorithm(JWSAlgorithm): |
no test coverage detected