Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Load EC Public Key from X,Y ValuesDemonstrates how to load an EC public key from X and Y values.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, JsonObject, PublicKey; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; x: PWideChar; y: PWideChar; json: HCkJsonObject; pubkey: HCkPublicKey; begin // We have the following x and y values in base64 (for an EC point on the P-256 curve). x := 'Dn7uB1O7kgk74G6qfQwFJESeDnxO6lLjGZFWZJE16tw'; y := 'iOWA5DInzK6nuUGvHJbMVq1Dpj248FqSV2teN3HzmhU'; // Build a JWK that looks like this: // { // "kty": "EC", // "crv": "P-256", // "x": "Dn7uB1O7kgk74G6qfQwFJESeDnxO6lLjGZFWZJE16tw", // "y": "iOWA5DInzK6nuUGvHJbMVq1Dpj248FqSV2teN3HzmhU" // } json := CkJsonObject_Create(); CkJsonObject_UpdateString(json,'kty','EC'); CkJsonObject_UpdateString(json,'crv','P-256'); CkJsonObject_UpdateString(json,'x',x); CkJsonObject_UpdateString(json,'y',y); // Load from the JWK. pubkey := CkPublicKey_Create(); success := CkPublicKey_LoadFromString(pubkey,CkJsonObject__emit(json)); if (success = False) then begin Memo1.Lines.Add(CkPublicKey__lastErrorText(pubkey)); Exit; end; Memo1.Lines.Add('Success.'); CkJsonObject_Dispose(json); CkPublicKey_Dispose(pubkey); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.