项目作者: sdcb

项目描述 :
Convert .NET ECD CngKey/key pair into PEM file.
高级语言: C#
项目地址: git://github.com/sdcb/Ecd2Pem.git
创建时间: 2019-03-04T01:41:43Z
项目社区:https://github.com/sdcb/Ecd2Pem

开源协议:MIT License

下载


Ecd2Pem NuGet

How to use?

Install nuget package Ecd2Pem:

  1. nuget install Ecd2Pem

If you have CngKey:

  1. string pemString = EcdConverter.FromCngKey(cngKey);

and you’ll get:

  1. -----BEGIN EC PARAMETERS-----
  2. BggqhkjOPQMBBw==
  3. -----END EC PARAMETERS-----
  4. -----BEGIN EC PRIVATE KEY-----
  5. MHcCAQEEIGjyyaEK0W+ErAsgeSEux7weYuR69Twn2aJSmz0CAsR7oAoGCCqGSM49AwEHoUQDQgAE
  6. nu3lr+fdixqx7+4FSTfUWyIuwHlE1NzVHR+IkKLKqRGdQqAsy2GVmi99MI75ZbqyWGuXtpacBHjz
  7. 5uNTRpUJCQ==
  8. -----END EC PRIVATE KEY-----

(The CngKey can/should be generated this way):

  1. CngKey cngKey = CngKey.Create(CngAlgorithm.ECDiffieHellmanP256, null, new CngKeyCreationParameters
  2. {
  3. ExportPolicy = CngExportPolicies.AllowPlaintextExport,
  4. });

If you have a public key(generated from base64 converted public key):

  1. string pemString = EcdConverter.FromPublicKey("RUNLMSAAAAAE4GoZ96sN5mEJjsrDndtDDg8wP5eJjz0IS/vTucWJEp1yJmdhLEaxJp4it5ZrBRBHvYWUbsA6WncRkwGp/oHZ")

And you’ll get:

  1. -----BEGIN PUBLIC KEY-----
  2. oUQDQgAEBOBqGferDeZhCY7Kw53bQw4PMD+XiY89CEv707nFiRKdciZnYSxGsSaeIreWawUQR72F
  3. lG7AOlp3EZMBqf6B2Q==
  4. -----END PUBLIC KEY-----