Curva elíptica com implementação de Algoritmo de Assinatura Digital (ECDSA) no BouncyCastle

Eu estou tentando implementar ECDSA (Elliptic Curve Digital Assinatura Algorithm), mas não consegui encontrar nenhum exemplo em Java que usa Bouncy Castle. Eu criei as chaves, mas realmente não sei que tipo de funções devo usar para criar uma assinatura e verificá-la.

public static KeyPair GenerateKeys()
    throws NoSuchAlgorithmException, NoSuchProviderException, InvalidAlgorithmParameterException
{
    ECParameterSpec ecSpec = ECNamedCurveTable.getParameterSpec("B-571");
    KeyPairGenerator g = KeyPairGenerator.getInstance("ECDSA", "BC");
    g.initialize(ecSpec, new SecureRandom());
    return g.generateKeyPair();
}

questionAnswers(3)

yourAnswerToTheQuestion