【发布时间】:2018-02-22 06:28:15
【问题描述】:
在 andorid xamarin 项目中,我正在使用 EC 曲线生成密钥对
generator = KeyPairGenerator.GetInstance(KeyProperties.KeyAlgorithmEc, AndroidKeyStoreContants.AndroidKeyStore);
paramSpec = new KeyGenParameterSpec.Builder(
alias,
KeyStorePurpose.Sign | KeyStorePurpose.Verify)
.SetAlgorithmParameterSpec(new ECGenParameterSpec("secp256r1"))
.SetDigests(KeyProperties.DigestSha256)
.Build();
generator.Initialize(paramSpec);
var keyPair = generator.GenerateKeyPair();
这很好,当我想访问公钥keyPair.Public 时问题就开始了。这给了我一个IPublicKey 接口。在 java 上,您只需将其转换为 ECPublicKey,而在 Xamarin 上您就无法做到。
我还注意到缺少一个成员 - 对我来说很重要的成员 - getW()- 在 xamarin 表示 ECPublicKey vs java ECPublicKey。
我的问题是 - 如何访问 - 并将公钥转换为 Xamarin 中的 ECPublicKey?我想访问 X 和 Y 坐标。
有没有办法添加这个缺失的声明?
【问题讨论】:
标签: java android xamarin xamarin.android ecdsa