[會員登入]ASP.NET與CA憑證(Certificate),登入時檢查X.509 憑證

Q : 公司發給每個同仁一個CA憑證檔案(.cer檔 or .pfx檔 )
想要在登入時,檢查他隸屬的單位、個人資料等等





 

 

Q :  公司發給每個同仁一個憑證檔案(.cer  /  X.509 憑證)

       想要在登入時,檢查他隸屬的單位、個人資料等等......

 

 

在微軟msdn網站找到相關的資料,

可以讀取憑證檔案裡面的資訊。

 

資料來源:

http://msdn.microsoft.com/zh-tw/library/9yc7tebx%28v=vs.100%29.aspx

 

1. 宣告 NameSpace

      using System.Security.Cryptography.X509Certificates;

System.Security.Cryptography.X509Certificates 命名空間包含 Authenticode X.509 v.3 憑證的 Common Language Runtime 實作。

這個憑證使用唯一並且明確識別憑證持有人的私密金鑰來簽名。

 


2. 程式碼如下:

    我先「匯出」瀏覽器裡面的憑證,另存新檔來測試

        // 方法一:憑證檔案的目錄與位置
        string Certificate = "d:\\MIS2000Lab_HelloWorld.cer";
        // Load the certificate into an X509Certificate object.
        X509Certificate cert = new X509Certificate(Certificate);

        //===方法二:讀取瀏覽器裡面的憑證=======
        HttpClientCertificate cc = Request.ClientCertificate;
            //參考資料  http://msdn.microsoft.com/zh-tw/library/system.web.httprequest.clientcertificate.aspx
        X509Certificate2 cert = new X509Certificate2(cc.Certificate);


        // 產生字串表示的詳細資訊形式
        string resultsTrue = cert.ToString(true);

        // 輸出字串:[Subject] CN=MIS2000Lab, OU=Manager, OU=Test_Object, DC=HelloWorldCompany, DC=HelloWorldCompany [Issuer] CN=HelloWorldCompany Root Certification Authority, DC=HelloWorldCompany [Serial Number] 1234X ABCDEFGHIJK [Not Before] 2013/3/13 下午 01:02:40 [Not After] 2015/11/11 下午 11:05:59 [Thumbprint] 1234567 ABCDEFGHIJK 1234567 QWERTYU
        Response.Write(resultsTrue);

 

.................................................................................................................................

您的IIS 7.0版也需要設定

              [SSL Settings]設定裡面,請勾選「Accept」才行。

 

此網站也需要啟動SSL

至於CA憑證的發放請自己購買 Windows Server的書籍來看

.................................................................................................................................

 

如果要讀取 .pfx檔案

https://msdn.microsoft.com/zh-tw/library/5128sby8(v=vs.110).aspx

 

 

using System;

using System.Security.Cryptography.X509Certificates;

 

 

public class X509

{

 

    public static void Main()

    {

        // The path to the certificate.

        string Certificate = "test.pfx";

        // Load the certificate into an X509Certificate object.

        X509Certificate cert = new X509Certificate(Certificate, “匯出匯入的密碼);

 

 

        byte[] certData = cert.Export(X509ContentType.Cert);

        X509Certificate newCert = new X509Certificate(certData, “匯出匯入的密碼);

 

        // Get the value.

        string resultsTrue = newCert.ToString(true);

 

        // Display the value to the console.

        Console.WriteLine(resultsTrue);

    }

 

}

 

 

 

相關文章:

ASP.NET 使用 X509Certificate2 類別匯入憑證檔時發生錯誤
http://blog.miniasp.com/post/2009/04/15/Importing-a-PFX-file-using-X509Certificate-from-ASPNET-fails.aspx

 

 

 

本文已經收錄在書本裡面

Xp13157

微軟 MVP的 ASP.NET 4.5 專題實務 ( II )-範例應用與 4.5 新功能

【VB / C# 雙語法】

MIS2000 Lab. 周棟祥、吳進魯

  • 出版商:松崗
  • 出版日期:2013-08-08
  • 台幣定價:
  • $820
  • 售價:7.6 折 $623  超商取貨 滿350元 免運費
  •  
  • 頁數:1096 !!! (另有 五章 PDF電子書放在光碟內)
  • ISBN:9572241729
  • EAN:9789572241721

 

天瓏書局(網路書店)http://www.tenlong.com.tw/items/9572241729?item_id=620531

超商取貨 滿350元 免運費

 

 
.......................以下是廣告........................................................................................
 
 
我的書、我的課程,絕對沒有太多招數
 
都是用最基本的技巧
組合成各種變化。
 
如同詠春拳,三個套路,
排列組合、變化萬千
 
 
 
 
 
 
與其到處  Copy範例、到處抄襲程式碼(找到了也改不動)
 
為什麼不一次學好、學清楚?
 
然後讓自己有生產力呢?
(你學了一百招,但上了戰場,一招都使不出來?)
(客戶的要求,沒有一個你能自己做到?還是上網逐一發問、抄抄改改?)
 
 
為什麼人家可以千變萬化?
 
我只能到處拼拼湊湊?卻還天天加班、做不完?最後還是迷迷糊糊?
 
 
 
 
   如何一以貫之
         如何啟動「輕輕鬆鬆的自我學習之道」?
 
 
讓我告訴你,
一個沒有大型補習班招牌、沒有關鍵字廣告的書籍與課程
 
 
在時局這麼亂、經濟與工作越來越蕭條的  Bumbler 無能年代
 
為何所有補習班的 ASP.NET課程都開不成、招不到學生
 
我的課程,班班額滿,欲罷不能.............縱貫這三四年 全台灣 的 ASP.NET入門教學
 
 
 
 

 
 

我將思想傳授他人, 他人之所得,亦無損於我之所有;

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

線上課程教學,遠距教學 (Web Form 約51hr)  https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015

線上課程教學,遠距教學 (ASP.NET MVC 約75~88hr)  https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab

ASP.NET MVC線上課程 第一天 免費看 (5.5小時) 

寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.台灣  或  school (at) mis2000lab.net


ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。 

................   facebook社團   https://www.facebook.com/mis2000lab   ......................

................  YouTube (ASP.NET) 線上教學影片  https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/

 

Blog文章 "附的範例" 無法下載,請看 這裡 ...... https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download

請看我們的「售後服務」範圍(嚴格認定)

...................................................................................................................................................... 

[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講

事先錄製好的影片,並非上課時側錄!   觀看影片時,有如我「一對一」跟您面對面講課

 

ASP.NET MVC 5 線上教學

         累積時數約 75~ 88小時...... 第一天(5.5小時)完整內容,"免費"讓您評估