Elliptic Curve Digital Signature Algorithm (ECDSA) mise en œuvre sur BouncyCastle
Je suis en train de mettre en œuvre ECDSA (Elliptic Curve Digital Signature Algorithm), mais je ne pouvais pas trouver des exemples en Java qui utilisent Château Gonflable. J'ai créé les clés, mais je ne sais vraiment pas quel genre de fonctions que j'utilise pour créer une signature et le vérifier.
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();
}
il n'a pas aidé, mais je n'ai créer la même question aussi crypto.stackexchange.com
Il y A quelques années, des échantillons de code de bonne utilisation de bibliothèques de cryptage a été sur le sujet. Je ne suis pas sûr si c'est le cas maintenant. ... mais il serait agréable d'avoir un endroit riche précises, validées, liées à la sécurité du code.
Il y A quelques années, des échantillons de code de bonne utilisation de bibliothèques de cryptage a été sur le sujet. Je ne suis pas sûr si c'est le cas maintenant. ... mais il serait agréable d'avoir un endroit riche précises, validées, liées à la sécurité du code.
OriginalL'auteur Yagiz | 2013-08-15
Vous devez vous connecter pour publier un commentaire.
owlstead est correct. Et d'élaborer un peu plus, vous pouvez faire ceci:
Et à vérifier:
"BC" Est BouncyCastle "SC" est SpongyCastle qui sont les deux fournisseurs différents. La question était de savoir BouncyCastle qui signifie le "BC" est correct, mais "SC" n'est pas
l'API de la colombie-britannique semble avoir énormément changé depuis cette réponse a été publiée. 1.60 ne fonctionne pas avec cet exemple de code plus 🙁
OriginalL'auteur gtrig
BouncyCastle est un fournisseur de: un ensemble de classes ce qui permet de chiffrement fonctionnalités que les applications sont censés les utiliser par le biais de l'API générique que Java est livré avec. Voir la Java Cryptography Architecture, en particulier la section sur les signatures, à voir comment générer ou de vérifier une signature. Fondamentalement, vous obtenez un
java.security.Signature
exemple (avec la statiquegetInstance()
méthode), alors vous devez l'initialiser avec une clé privée (initSign()
, pour générer une signature) ou d'une clé publique (initVerify()
, pour vérifier une signature). Vous entrez ensuite le message de données avec un ou plusieursupdate()
appels, et enfin vous appelersign()
ouverify()
, de générer ou de vérifier une signature.OriginalL'auteur Thomas Pornin
Vous semblez être à l'aide de Château Gonflable principalement en tant que fournisseur. Dans ce cas, vous pouvez simplement utiliser
Signature.getInstance("SHA256withECDSA", "BC")
.OriginalL'auteur Maarten Bodewes