**** Merged from MCS ****
[mono-project.git] / mcs / class / Microsoft.Web.Services / Microsoft.Web.Services.Security.X509 / FileCertificateStore.cs
bloba9f2b8a84bfbfc9d1d6cdc2e0d0ace3db108664b
1 //
2 // FileCertificateStore.cs: Handles a file-based certificate store.
3 //
4 // Author:
5 // Sebastien Pouliot (spouliot@motus.com)
6 //
7 // (C) 2003 Motus Technologies Inc. (http://www.motus.com)
8 //
10 using System;
11 using Mono.Security.Authenticode;
13 namespace Microsoft.Web.Services.Security.X509 {
15 internal class FileCertificateStore : ICertificateStore {
17 private string _storeName;
18 private X509CertificateStore.StoreOpenFlags _flags;
19 private X509CertificateStore.StoreLocation _location;
20 private IntPtr _handle;
22 public FileCertificateStore (X509CertificateStore.StoreLocation location, string storeName, X509CertificateStore.StoreOpenFlags flags)
24 _location = location;
25 _storeName = storeName;
26 _flags = flags;
29 public IntPtr Handle {
30 get { return (IntPtr) 0; }
33 public X509CertificateCollection GetCollection ()
35 if (_spc == null) {
36 _spc = SoftwarePublisherCertificate.CreateFromFile (_storeName);
38 X509CertificateCollection coll = new X509CertificateCollection ();
39 Mono.Security.X509.X509CertificateCollection spcoll = _spc.Certificates;
40 foreach (Mono.Security.X509.X509Certificate x in spcoll) {
41 coll.Add (new X509Certificate (x.RawData));
43 return coll;
46 public void Close () {}