using System; using System.Net; using System.Security.Cryptography.X509Certificates; class MainClass { public static void Main() { WebRequest requestA = WebRequest.Create("http://www.yoursite.com"); requestA.Credentials = new NetworkCredential("userName", "password"); requestA.PreAuthenticate = true; WebRequest requestB = WebRequest.Create("http://www.yoursite.com"); requestB.Credentials = CredentialCache.DefaultCredentials; requestB.PreAuthenticate = true; HttpWebRequest requestC = (HttpWebRequest)WebRequest.Create("http://www.yoursite.com"); X509Certificate cert1 = X509Certificate.CreateFromCertFile("TestCertificate.cer"); requestC.ClientCertificates.Add(cert1); HttpWebRequest requestD = (HttpWebRequest)WebRequest.Create("http://www.yoursite.com"); X509Store store = new X509Store(); X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindBySubjectName,"Joe", false); if (certs.Count == 1) { requestD.ClientCertificates.Add(certs[0]); } else { certs = X509Certificate2UI.SelectFromCollection( store.Certificates, "Select Certificate", "Select the certificate to use for authentication.", X509SelectionFlag.SingleSelection); if (certs.Count != 0) { requestD.ClientCertificates.Add(certs[0]); } } } }
Security
Returns a SHA1 hash of a given plaintext
//--------------------------------------------------------------------- // This file is part of the Background Motion solution. // // Copyright (C) Mindscape (TM). All rights reserved. // http://www.mindscape.co.nz // // THIS CODE AND INFORMATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A // PARTICULAR PURPOSE. //--------------------------------------------------------------------- using System; using System.Security.Cryptography; using System.Text; namespace Mindscape.BackgroundMotion.Core.Utilities { /// <summary> /// Helper class which provides functions for assisting with hashing values /// </summary> public static class Hasher { /// <summary> /// Returns a SHA1 hash of a given plaintext /// </summary> public static string GetSHA1Hash(string plaintext) { return BitConverter.ToString(new SHA1CryptoServiceProvider() .ComputeHash(Encoding.Default.GetBytes(plaintext))) .Replace("-", String.Empty); } } }
Encrypt SHA256
//----------------------------------------------------------------------- // <copyright file="CryptoUtil.cs" company="Pyramid Consulting"> // Copyright (c) Pyramid Consulting. All rights reserved. // khoa.tran - 15-Dec-2007 // </copyright> //----------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Text; using System.Security.Cryptography; namespace Bamboo.Core.Common.Crypto { public class CryptoUtil { public static byte[] EncryptSHA256(string text) { SHA256 sha256 = SHA256.Create(); UTF8Encoding encoding = new UTF8Encoding(); return sha256.ComputeHash(encoding.GetBytes(text)); } } }
Encrypt SHA1
//----------------------------------------------------------------------- // <copyright file="CryptoUtil.cs" company="Pyramid Consulting"> // Copyright (c) Pyramid Consulting. All rights reserved. // khoa.tran - 15-Dec-2007 // </copyright> //----------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Text; using System.Security.Cryptography; namespace Bamboo.Core.Common.Crypto { public class CryptoUtil { public static byte[] EncryptSHA1(string text) { SHA1 sha1 = SHA1.Create(); UTF8Encoding encoding = new UTF8Encoding(); return sha1.ComputeHash(encoding.GetBytes(text)); } } }
new SHA1Managed()
using System; using System.Text; using System.Security.Cryptography; class MainClass { public static void Main(string[] args) { HashAlgorithm hashAlg = null; hashAlg = new SHA1Managed(); using (hashAlg) { byte[] pwordData = Encoding.Default.GetBytes(args[1]); byte[] hash = hashAlg.ComputeHash(pwordData); Console.WriteLine(BitConverter.ToString(hash)); } } }
PolicyHierarchy
using System; using System.Security.Policy; using System.Security; using System.Collections; class Class1 { static void Main() { IEnumerator PolicyEnum = SecurityManager.PolicyHierarchy(); while (PolicyEnum.MoveNext()) { PolicyLevel levelPolicy = (PolicyLevel)PolicyEnum.Current; Console.WriteLine(levelPolicy.Label); IEnumerator PermissionEnum = levelPolicy.NamedPermissionSets.GetEnumerator(); while (PermissionEnum.MoveNext()) { NamedPermissionSet permissionSet = (NamedPermissionSet)PermissionEnum.Current; Console.WriteLine(" Permission Set: Name: {0} Description {1}", permissionSet.Name, permissionSet.Description); } } } }
CheckExecutionRights, SavePolicy
using System.Security; class MainClass { public static void Main() { SecurityManager.CheckExecutionRights = true; SecurityManager.SavePolicy(); SecurityManager.CheckExecutionRights = false; SecurityManager.SavePolicy(); } }