def sign(self, pki_obj, data): new_pki = deepcopy(pki_obj) new_pki.hash_obj = self.hash_obj r, s = new_pki.sign(data) seq = SequenceOf() seq.extend([Integer(r), Integer(s)]) return BitString(Bytes(encoder.encode(seq)).int())
def encode(dsa_key): seq_of = SequenceOf() seq_of.extend( [Integer(dsa_key.p), Integer(dsa_key.q), Integer(dsa_key.g)]) return seq_of
def encode(ecdsa_key: object, **kwargs): curve_seq = [ ObjectIdentifier([1, 2, 840, 10045, 2, 1]), X509ECDSAParams.encode(ecdsa_key) ] encoded = SequenceOf() encoded.extend(curve_seq) top_seq = Sequence() top_seq.setComponentByPosition(0, encoded) top_seq.setComponentByPosition( 1, X509ECDSASubjectPublicKey.encode(ecdsa_key)) encoded = encoder.encode(top_seq) return X509ECDSAPublicKey.transport_encode(encoded, **kwargs)