/// <summary> /// Returns the <see cref="ICryptoKeyPair" /> for the specified key type. /// </summary> /// <param name="key">The type of the key to return</param> public ICryptoKeyPair GetCryptoKey(CryptoKeyType key) { Guard.NotNull(() => key, key); string settingName = CreateSettingName(key); string subjectName = GetSubjectName(settingName); return(new CryptoKeyPair(LoadCertBySubjectName(subjectName))); }
public static PublicKey Decode(IByteReader stream) { PublicKey decodedPublicKey = new PublicKey(); decodedPublicKey.Discriminant = CryptoKeyType.Decode(stream); switch (decodedPublicKey.Discriminant.InnerValue) { case CryptoKeyType.CryptoKeyTypeEnum.KEY_TYPE_ED25519: decodedPublicKey.Ed25519 = Uint256.Decode(stream); break; } return(decodedPublicKey); }
public static MuxedAccount Decode(XdrDataInputStream stream) { MuxedAccount decodedMuxedAccount = new MuxedAccount(); CryptoKeyType discriminant = CryptoKeyType.Decode(stream); decodedMuxedAccount.Discriminant = discriminant; switch (decodedMuxedAccount.Discriminant.InnerValue) { case CryptoKeyType.CryptoKeyTypeEnum.KEY_TYPE_ED25519: decodedMuxedAccount.Ed25519 = Uint256.Decode(stream); break; case CryptoKeyType.CryptoKeyTypeEnum.KEY_TYPE_MUXED_ED25519: decodedMuxedAccount.Med25519 = MuxedAccountMed25519.Decode(stream); break; } return(decodedMuxedAccount); }
public static void Encode(IByteWriter stream, CryptoKeyType value) { XdrEncoding.EncodeInt32((int)value.InnerValue, stream); }
private string CreateSettingName(CryptoKeyType key) { return(CertConfigurationSettingFormat.FormatWith(cryptoKeySettingName, key)); }