本文整理匯總了C#中Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetFingerprint方法的典型用法代碼示例。如果您正苦於以下問題:C# PgpPublicKey.GetFingerprint方法的具體用法?C# PgpPublicKey.GetFingerprint怎麽用?C# PgpPublicKey.GetFingerprint使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey
的用法示例。
在下文中一共展示了PgpPublicKey.GetFingerprint方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: OpenPgpDigitalCertificate
internal OpenPgpDigitalCertificate (PgpPublicKey pubkey)
{
var data = pubkey.GetFingerprint ();
var builder = new StringBuilder ();
for (int i = 0; i < data.Length; i++)
builder.Append (data[i].ToString ("X"));
// var trust = pubkey.GetTrustData ();
// if (trust != null) {
// TrustLevel = (TrustLevel) (trust[0] & 15);
// } else {
// TrustLevel = TrustLevel.None;
// }
Fingerprint = builder.ToString ();
PublicKey = pubkey;
foreach (string userId in pubkey.GetUserIds ()) {
data = Encoding.UTF8.GetBytes (userId);
MailboxAddress mailbox;
int index = 0;
if (!MailboxAddress.TryParse (ParserOptions.Default, data, ref index, data.Length, false, out mailbox))
continue;
Email = mailbox.Address;
Name = mailbox.Name;
break;
}
}
示例2: PgpPublicKeyMatches
static bool PgpPublicKeyMatches (PgpPublicKey key, MailboxAddress mailbox)
{
var secure = mailbox as SecureMailboxAddress;
if (secure != null && !string.IsNullOrEmpty (secure.Fingerprint)) {
if (secure.Fingerprint.Length > 16) {
var fingerprint = HexEncode (key.GetFingerprint ());
return secure.Fingerprint.Equals (fingerprint, StringComparison.OrdinalIgnoreCase);
} else {
var id = ((int) key.KeyId).ToString ("X2");
return secure.Fingerprint.EndsWith (id, StringComparison.OrdinalIgnoreCase);
}
}
foreach (string userId in key.GetUserIds ()) {
MailboxAddress email;
if (!MailboxAddress.TryParse (userId, out email))
continue;
if (mailbox.Address.Equals (email.Address, StringComparison.OrdinalIgnoreCase))
return true;
}
return false;
}