本文整理汇总了C#中IX509Selector类的典型用法代码示例。如果您正苦于以下问题:C# IX509Selector类的具体用法?C# IX509Selector怎么用?C# IX509Selector使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IX509Selector类属于命名空间,在下文中一共展示了IX509Selector类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: PkixBuilderParameters
public PkixBuilderParameters(
ISet trustAnchors,
IX509Selector targetConstraints)
: base(trustAnchors)
{
SetTargetCertConstraints(targetConstraints);
}
开发者ID:MBrekhof,项目名称:pleiobox-clients,代码行数:7,代码来源:PkixBuilderParameters.cs
示例2: GetPrivateKey
/// <summary>
/// Gets the private key based on the provided selector.
/// </summary>
/// <returns>The private key on success; otherwise <c>null</c>.</returns>
/// <param name="selector">The search criteria for the private key.</param>
protected override AsymmetricKeyParameter GetPrivateKey (IX509Selector selector)
{
foreach (var signer in keychain.GetAllCmsSigners ()) {
if (selector.Match (signer.Certificate))
return signer.PrivateKey;
}
return null;
}
开发者ID:ALange,项目名称:OutlookPrivacyPlugin,代码行数:14,代码来源:MacSecureMimeContext.cs
示例3: GetCertificate
/// <summary>
/// Gets the X.509 certificate based on the selector.
/// </summary>
/// <returns>The certificate on success; otherwise <c>null</c>.</returns>
/// <param name="selector">The search criteria for the certificate.</param>
protected override X509Certificate GetCertificate (IX509Selector selector)
{
foreach (var certificate in keychain.GetCertificates ((CssmKeyUse) 0)) {
if (selector.Match (certificate))
return certificate;
}
return null;
}
开发者ID:ALange,项目名称:OutlookPrivacyPlugin,代码行数:14,代码来源:MacSecureMimeContext.cs
示例4: GetCertificate
/// <summary>
/// Gets the X.509 certificate based on the selector.
/// </summary>
/// <returns>The certificate on success; otherwise <c>null</c>.</returns>
/// <param name="selector">The search criteria for the certificate.</param>
protected override X509Certificate GetCertificate (IX509Selector selector)
{
if (selector == null && certificates.Count > 0)
return certificates[0];
foreach (var certificate in certificates) {
if (selector.Match (certificate))
return certificate;
}
return null;
}
开发者ID:ruffin--,项目名称:MimeKit,代码行数:17,代码来源:DummySecureMimeContext.cs
示例5: GetPrivateKey
/// <summary>
/// Gets the private key based on the provided selector.
/// </summary>
/// <returns>The private key on success; otherwise <c>null</c>.</returns>
/// <param name="selector">The search criteria for the private key.</param>
protected override AsymmetricKeyParameter GetPrivateKey (IX509Selector selector)
{
foreach (var certificate in certificates) {
AsymmetricKeyParameter key;
if (!keys.TryGetValue (certificate, out key))
continue;
if (selector != null && !selector.Match (certificate))
continue;
return key;
}
return null;
}
开发者ID:ruffin--,项目名称:MimeKit,代码行数:21,代码来源:DummySecureMimeContext.cs
示例6: GetMatches
/**
* Return the matches in the collection for the passed in selector.
*
* @param selector the selector to match against.
* @return a possibly empty collection of matching objects.
*/
public ICollection GetMatches(
IX509Selector selector)
{
if (selector == null)
{
return new ArrayList(_local);
}
IList result = new ArrayList();
foreach (object obj in _local)
{
if (selector.Match(obj))
result.Add(obj);
}
return result;
}
开发者ID:nicecai,项目名称:iTextSharp-4.1.6,代码行数:23,代码来源:X509CollectionStore.cs
示例7: FindPrivateKeys
/// <summary>
/// Finds the private keys matching the specified selector.
/// </summary>
/// <remarks>
/// Searches the database for certificate records matching the selector, returning the
/// private keys for each matching record.
/// </remarks>
/// <returns>The matching certificates.</returns>
/// <param name="selector">The match selector or <c>null</c> to return all private keys.</param>
public IEnumerable<AsymmetricKeyParameter> FindPrivateKeys (IX509Selector selector)
{
using (var command = GetSelectCommand (selector, false, true, PrivateKeyFields)) {
var reader = command.ExecuteReader ();
try {
var parser = new X509CertificateParser ();
var buffer = new byte[4096];
while (reader.Read ()) {
var record = LoadCertificateRecord (reader, parser, ref buffer);
if (selector == null || selector.Match (record.Certificate))
yield return record.PrivateKey;
}
} finally {
reader.Close ();
}
}
yield break;
}
开发者ID:ruffin--,项目名称:MimeKit,代码行数:31,代码来源:X509CertificateDatabase.cs
示例8: GetSelectCommand
/// <summary>
/// Gets the database command to select certificate records matching the specified selector.
/// </summary>
/// <remarks>
/// Gets the database command to select certificate records matching the specified selector.
/// </remarks>
/// <returns>The database command.</returns>
/// <param name="selector">Selector.</param>
/// <param name="trustedOnly"><c>true</c> if only trusted certificates should be matched.</param>
/// <param name="requirePrivateKey"><c>true</c> if the certificate must have a private key.</param>
/// <param name="fields">The fields to return.</param>
protected abstract IDbCommand GetSelectCommand (IX509Selector selector, bool trustedOnly, bool requirePrivateKey, X509CertificateRecordFields fields);
开发者ID:ruffin--,项目名称:MimeKit,代码行数:12,代码来源:X509CertificateDatabase.cs
示例9: GetPrivateKey
/// <summary>
/// Gets the private key based on the provided selector.
/// </summary>
/// <remarks>
/// Gets the private key based on the provided selector.
/// </remarks>
/// <returns>The private key on success; otherwise <c>null</c>.</returns>
/// <param name="selector">The search criteria for the private key.</param>
protected override AsymmetricKeyParameter GetPrivateKey (IX509Selector selector)
{
var store = new X509Store (StoreName.My, StoreLocation);
store.Open (OpenFlags.ReadOnly);
try {
foreach (var certificate in store.Certificates) {
if (!certificate.HasPrivateKey)
continue;
var cert = DotNetUtilities.FromX509Certificate (certificate);
if (selector == null || selector.Match (cert)) {
var pair = DotNetUtilities.GetKeyPair (certificate.PrivateKey);
return pair.Private;
}
}
} finally {
store.Close ();
}
return null;
}
开发者ID:ALange,项目名称:OutlookPrivacyPlugin,代码行数:32,代码来源:WindowsSecureMimeContext.cs
示例10: GetCertificate
/// <summary>
/// Gets the X.509 certificate based on the selector.
/// </summary>
/// <remarks>
/// Gets the X.509 certificate based on the selector.
/// </remarks>
/// <returns>The certificate on success; otherwise <c>null</c>.</returns>
/// <param name="selector">The search criteria for the certificate.</param>
protected override Org.BouncyCastle.X509.X509Certificate GetCertificate (IX509Selector selector)
{
var storeNames = new [] { StoreName.My, StoreName.AddressBook, StoreName.TrustedPeople, StoreName.Root };
foreach (var storeName in storeNames) {
var store = new X509Store (storeName, StoreLocation);
store.Open (OpenFlags.ReadOnly);
try {
foreach (var certificate in store.Certificates) {
var cert = DotNetUtilities.FromX509Certificate (certificate);
if (selector == null || selector.Match (cert))
return cert;
}
} finally {
store.Close ();
}
}
return null;
}
开发者ID:ALange,项目名称:OutlookPrivacyPlugin,代码行数:30,代码来源:WindowsSecureMimeContext.cs
示例11: GetSelectCommand
/// <summary>
/// Gets the database command to select the certificate records for the specified mailbox.
/// </summary>
/// <remarks>
/// Gets the database command to select the certificate records for the specified mailbox.
/// </remarks>
/// <returns>The database command.</returns>
/// <param name="selector">Selector.</param>
/// <param name="trustedOnly">If set to <c>true</c> trusted only.</param>
/// <param name="requirePrivateKey">true</param>
/// <param name="fields">The fields to return.</param>
protected override DbCommand GetSelectCommand (IX509Selector selector, bool trustedOnly, bool requirePrivateKey, X509CertificateRecordFields fields)
{
var query = "SELECT " + string.Join (", ", GetColumnNames (fields)) + " FROM CERTIFICATES";
var match = selector as X509CertStoreSelector;
var command = connection.CreateCommand ();
var constraints = " WHERE ";
if (trustedOnly) {
command.AddParameterWithValue ("@TRUSTED", true);
constraints += "TRUSTED = @TRUSTED";
}
if (match != null) {
if (match.BasicConstraints != -1) {
if (command.Parameters.Count > 0)
constraints += " AND ";
command.AddParameterWithValue ("@BASICCONSTRAINTS", match.BasicConstraints);
constraints += "BASICCONSTRAINTS = @BASICCONSTRAINTS";
}
if (match.Issuer != null) {
if (command.Parameters.Count > 0)
constraints += " AND ";
command.AddParameterWithValue ("@ISSUERNAME", match.Issuer.ToString ());
constraints += "ISSUERNAME = @ISSUERNAME";
}
if (match.SerialNumber != null) {
if (command.Parameters.Count > 0)
constraints += " AND ";
command.AddParameterWithValue ("@SERIALNUMBER", match.SerialNumber.ToString ());
constraints += "SERIALNUMBER = @SERIALNUMBER";
}
if (match.KeyUsage != null) {
var flags = X509CertificateExtensions.GetKeyUsageFlags (match.KeyUsage);
if (flags != X509KeyUsageFlags.None) {
if (command.Parameters.Count > 0)
constraints += " AND ";
command.AddParameterWithValue ("@FLAGS", (int) flags);
constraints += "(KEYUSAGE & @FLAGS) != 0";
}
}
}
if (requirePrivateKey) {
if (command.Parameters.Count > 0)
constraints += " AND ";
constraints += "PRIVATEKEY IS NOT NULL";
} else if (command.Parameters.Count == 0) {
constraints = string.Empty;
}
command.CommandText = query + constraints;
command.CommandType = CommandType.Text;
return command;
}
开发者ID:dcga,项目名称:MimeKit,代码行数:75,代码来源:SqlCertificateDatabase.cs
示例12: GetCertificate
/// <summary>
/// Gets the X.509 certificate matching the specified selector.
/// </summary>
/// <remarks>
/// Gets the first certificate that matches the specified selector.
/// </remarks>
/// <returns>The certificate on success; otherwise <c>null</c>.</returns>
/// <param name="selector">The search criteria for the certificate.</param>
protected override X509Certificate GetCertificate (IX509Selector selector)
{
return dbase.FindCertificates (selector).FirstOrDefault ();
}
开发者ID:nachocove,项目名称:MimeKit,代码行数:12,代码来源:DefaultSecureMimeContext.cs
示例13: GetMatches
public ICollection GetMatches(IX509Selector selector)
{
if (selector == null)
{
return win;
}
IList result = new ArrayList();
for (int i = 0; i < win.Count; i++)
{
if (selector.Match(bc[i]))
result.Add(win[i]);
}
return result;
}
开发者ID:svn2github,项目名称:etee,代码行数:15,代码来源:TripleUnwrapper.cs
示例14: GetCertificate
/// <summary>
/// Gets the X.509 certificate based on the selector.
/// </summary>
/// <returns>The certificate on success; otherwise <c>null</c>.</returns>
/// <param name="selector">The search criteria for the certificate.</param>
protected abstract X509Certificate GetCertificate(IX509Selector selector);
开发者ID:princeoffoods,项目名称:MimeKit,代码行数:6,代码来源:SecureMimeContext.cs
示例15: SetTargetConstraints
/**
* Sets the required constraints on the target certificate or attribute
* certificate. The constraints are specified as an instance of
* <code>IX509Selector</code>. If <code>null</code>, no constraints are
* defined.
* <p>
* The target certificate in a PKIX path may be a certificate or an
* attribute certificate.
* </p><p>
* Note that the <code>IX509Selector</code> specified is cloned to protect
* against subsequent modifications.
* </p>
*
* @param selector a <code>IX509Selector</code> specifying the constraints on
* the target certificate or attribute certificate (or
* <code>null</code>)
* @see #getTargetConstraints
* @see X509CertStoreSelector
* @see X509AttributeCertStoreSelector
*/
public virtual void SetTargetConstraints(IX509Selector selector)
{
if (selector != null)
{
this.selector = (IX509Selector) selector.Clone();
}
else
{
this.selector = null;
}
}
开发者ID:ktw,项目名称:OutlookPrivacyPlugin,代码行数:31,代码来源:PkixParameters.cs
示例16: SetParams
/**
* Method to support <code>Clone()</code> under J2ME.
* <code>super.Clone()</code> does not exist and fields are not copied.
*
* @param params Parameters to set. If this are
* <code>ExtendedPkixParameters</code> they are copied to.
*/
protected virtual void SetParams(
PkixParameters parameters)
{
Date = parameters.Date;
SetCertPathCheckers(parameters.GetCertPathCheckers());
IsAnyPolicyInhibited = parameters.IsAnyPolicyInhibited;
IsExplicitPolicyRequired = parameters.IsExplicitPolicyRequired;
IsPolicyMappingInhibited = parameters.IsPolicyMappingInhibited;
IsRevocationEnabled = parameters.IsRevocationEnabled;
SetInitialPolicies(parameters.GetInitialPolicies());
IsPolicyQualifiersRejected = parameters.IsPolicyQualifiersRejected;
SetTargetCertConstraints(parameters.GetTargetCertConstraints());
SetTrustAnchors(parameters.GetTrustAnchors());
validityModel = parameters.validityModel;
useDeltas = parameters.useDeltas;
additionalLocationsEnabled = parameters.additionalLocationsEnabled;
selector = parameters.selector == null ? null
: (IX509Selector) parameters.selector.Clone();
stores = Platform.CreateArrayList(parameters.stores);
additionalStores = Platform.CreateArrayList(parameters.additionalStores);
trustedACIssuers = new HashSet(parameters.trustedACIssuers);
prohibitedACAttributes = new HashSet(parameters.prohibitedACAttributes);
necessaryACAttributes = new HashSet(parameters.necessaryACAttributes);
attrCertCheckers = new HashSet(parameters.attrCertCheckers);
}
开发者ID:ktw,项目名称:OutlookPrivacyPlugin,代码行数:33,代码来源:PkixParameters.cs
示例17: SetTargetCertConstraints
/**
* Sets the required constraints on the target certificate. The constraints
* are specified as an instance of CertSelector. If null, no constraints are
* defined.<br />
* <br />
* Note that the CertSelector specified is cloned to protect against
* subsequent modifications.
*
* @param selector
* a CertSelector specifying the constraints on the target
* certificate (or <code>null</code>)
*
* @see #getTargetCertConstraints()
*/
public virtual void SetTargetCertConstraints(
IX509Selector selector)
{
if (selector == null)
{
certSelector = null;
}
else
{
certSelector = (IX509Selector)selector.Clone();
}
}
开发者ID:ktw,项目名称:OutlookPrivacyPlugin,代码行数:26,代码来源:PkixParameters.cs
示例18: GetPrivateKey
/// <summary>
/// Gets the private key for the certificate matching the specified selector.
/// </summary>
/// <remarks>
/// Gets the private key for the first certificate that matches the specified selector.
/// </remarks>
/// <returns>The private key on success; otherwise <c>null</c>.</returns>
/// <param name="selector">The search criteria for the private key.</param>
protected override AsymmetricKeyParameter GetPrivateKey (IX509Selector selector)
{
return dbase.FindPrivateKeys (selector).FirstOrDefault ();
}
开发者ID:nachocove,项目名称:MimeKit,代码行数:12,代码来源:DefaultSecureMimeContext.cs
示例19: Find
/// <summary>
/// Finds the certificate records matching the specified selector.
/// </summary>
/// <remarks>
/// Searches the database for certificate records matching the selector, returning all
/// of the matching records populated with the desired fields.
/// </remarks>
/// <returns>The matching certificate records populated with the desired fields.</returns>
/// <param name="selector">The match selector or <c>null</c> to match all certificates.</param>
/// <param name="trustedOnly"><c>true</c> if only trusted certificates should be returned.</param>
/// <param name="fields">The desired fields.</param>
public IEnumerable<X509CertificateRecord> Find (IX509Selector selector, bool trustedOnly, X509CertificateRecordFields fields)
{
using (var command = GetSelectCommand (selector, trustedOnly, false, fields | X509CertificateRecordFields.Certificate)) {
var reader = command.ExecuteReader ();
try {
var parser = new X509CertificateParser ();
var buffer = new byte[4096];
while (reader.Read ()) {
var record = LoadCertificateRecord (reader, parser, ref buffer);
if (selector == null || selector.Match (record.Certificate))
yield return record;
}
} finally {
reader.Close ();
}
}
yield break;
}
开发者ID:ruffin--,项目名称:MimeKit,代码行数:33,代码来源:X509CertificateDatabase.cs
示例20: GetMatches
/// <summary>
/// Gets an enumerator of matching X.509 certificates based on the specified selector.
/// </summary>
/// <remarks>
/// Gets an enumerator of matching X.509 certificates based on the specified selector.
/// </remarks>
/// <returns>The matching certificates.</returns>
/// <param name="selector">The match criteria.</param>
public IEnumerable<X509Certificate> GetMatches (IX509Selector selector)
{
foreach (var certificate in certs) {
if (selector == null || selector.Match (certificate))
yield return certificate;
}
yield break;
}
开发者ID:nachocove,项目名称:MimeKit,代码行数:17,代码来源:X509CertificateStore.cs
注:本文中的IX509Selector类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论