Ⅰ 如何獲取數字證書(x509Certificate)中的指紋演算法
創建X509證書方法較多,在Windows 環境下大致總結了幾中辦法,
1) 通過CA獲取證書,
2) 通過微軟提供的makecert 工具得到測試證書
3) 編程的方法創建,.Net提供了 X509Certificate2 類,該類可以用於創建證書,但只能從RawData中創建,創建後無法修改除FriendlyName以外的任何屬性。
我在互聯網上找了很久,始終沒有找到完全通過程序創建自定義的證書的方法。後來想了一個折中辦法,就是用程序調用 makecert.exe 先生成一個證書,證書的一些參數如Subject,有效期,序列號等可以通過參數傳入,然後把生成的證書文件讀到Rawdata中,得到X509Certificate2 類型的證書對象。當然這種方法確實比較笨,必須要依賴外部進程。等後面有時間的話,我還是想按照X509 V3 標准,自己創建RawData,然後生成證書,這樣應該是比較靈活的做法。不知道網友們有沒有什麼更好的方法來創建一個自定義的證書。
通過 makecert.exe 創建X509證書的代碼如下,供大家參考
static object semObj = new object();
/// <summary>
/// 自定義的證書信息
/// </summary>
public class T_CertInfo
{
public String FriendlyName;
public String Subject;
public DateTime BeginDate;
public DateTime EndDate;
public int SerialNumber;
}
/// <summary>
/// 生成X509證書
/// </summary>
/// <param name="makecrtPath">makecert進程的目錄</param>
/// <param name="crtPath">證書文件臨時目錄</param>
/// <param name="certInfo">證書信息</param>
/// <returns></returns>
public static X509Certificate2 CreateCertificate(String makecrtPath, String crtPath,
T_CertInfo certInfo)
{
Debug.Assert(certInfo != null);
Debug.Assert(certInfo.Subject != null);
string MakeCert = makecrtPath + "makecert.exe";
string fileName = crtPath + "cer";
string userName = Guid.NewGuid().ToString();
StringBuilder arguments = new StringBuilder();
arguments.AppendFormat("-r -n \"{0}\" -ss my -sr currentuser -sky exchange ",
certInfo.Subject);
if (certInfo.SerialNumber > 0)
{
arguments.AppendFormat("-# {0} ", certInfo.SerialNumber);
}
arguments.AppendFormat("-b {0} ", certInfo.BeginDate.ToString(@"MM\/dd\/yyyy"));
arguments.AppendFormat("-e {0} ", certInfo.EndDate.ToString(@"MM\/dd\/yyyy"));
arguments.AppendFormat("\"{0}\"", fileName);
Ⅱ 計算機的證書中的指紋是什麼意思
是一種形容詞用法,
形容這個證書擁有獨一無二的識別代碼,
而且還是證書隨身攜帶,別人偷不去的意思。就像你的指紋一樣,別人想要有,除非把你的手指切了去。
Ⅲ 如何檢查數字證書的指紋 – SSL證書數字簽名網
證書的指紋( certificate』s thumbprint)是獨一無二的標識符。微軟Internet Explorer調用它按手印。瀏覽器傾向於以顯版示它,就好像它是一個部分權的證書。它不是一個證書的一部分,但它是從它計算。
指紋是DER編碼的證書信息,這是一個ASN.1類型的X.509規范的一部分指定為MD5摘要。
證書指紋是摘要(散列函數)的X509證書的二進制格式。它可以計算出不同的演算法,如SHA1為Microsoft Internet Explorer,Netscape Navigator為MD5。
要檢查證書的指紋和/或指紋,請執行以下步驟:
打開IE瀏覽器
轉到「工具」>「Internet選項」
單擊「內容」選項卡>「證書」
在「證書」窗口中,單擊您要檢查的證書(個人,其他人,中級證書頒發機構「,」受信任的根證書頒發機構「選項卡上的)
找到列表中的證書或根
雙擊進入
單擊「詳細信息」選項卡
滾動上按手印
詳細信息將顯示「指紋」
Ⅳ ssl證書 指紋演算法 是什麼意思
網際網路的 超文本傳輸協議 (HTTP)使用 SSL 來實現安全的通信。 在客戶端與伺服器間傳輸的數據是通過使用對稱算專法(如 DES 或 RC4)進行加密的。公用密鑰演算法(通常為 RSA)是用來屬獲得加密密鑰交換和數字簽名的,此演算法使用伺服器的SSL數字證書...
Ⅳ 生產指紋鎖所有什麼證書比如需要什麼安全生產許可證之類的嗎
沒有安全生產許可要求
Ⅵ 如何備份管理員的指紋證書,就是像EFS加密的SID等有關的私鑰文件
這個不能來備份的,他這個源存貯是直接對應WINDOWS用戶的,實際上對於用戶的加密私鑰是一個GUID的形式的
也就是說在這個情況下,一旦你重裝系統,即使你使用同樣的用戶名密碼登陸也不行的
除非你有辦法讓GUID為同一個字元,但是概率基本上是億萬萬分之一
在當前用戶的登陸的情況下,你可以直接拷貝到其他盤符上,如果是非NTFS分區是不會帶加密數據的
直接拷貝到非加密的盤上,比如是FAT32分區的盤上
Ⅶ 數字證書的簽名哈希演算法跟指紋演算法都是指對摘要(指紋的)的編碼嗎
證書簽名來使用的演算法是發布源者自己規定的 使用自己的私鑰對證書編碼的哈希值進行加密 一般演算法為md5withrsa或者sha256withrsa。哈希演算法是唯一的 就是把證書編碼轉換為固定長度的2進制 這個過程不可逆 就是說無法通過哈希值還原證書編碼。指紋演算法就是哈希演算法 一般都是sh1。證書認證的流程是證書所有者把證書和指紋(證書的哈希值並用私鑰加密)發給用戶 用戶根據證書計算出一個哈希值 用公鑰解密指紋得到一個哈希值 看一下兩者是否相同 相同及證明證書未被篡改。演算法是由所有者的私鑰加密的。ca的作用是ca是可以認證一個證書鏈,源頭就是ca 一旦你信任了這個ca 就是信任了ca發布的證書,這樣你與ca發布的證書的所有者通信時可以根據證書鏈找到ca ca可信任了則這個發布者就是可信任的
Ⅷ 指紋鑒定有什麼要求
需鑒定的指紋不夠清晰,或者清晰的紋線數量太少,認定指紋同一需要13個特徵,否定同一需要8個特徵,達不到這個要求,就不具備鑒定條件。這是指紋鑒定同一比對原理的基本要求。
運用專門技術對指紋的異同進行鑒別和評定。指紋鑒定是刑事技術鑒定的重要內容,其根據是人的指紋各不相同和終生基本不變的特性。指紋鑒定的程序分為預備檢驗、分別檢驗、比較檢驗和綜合評斷。經過鑒定達到同一認定的目的,從而為刑事訴訟提供證據。
(8)指紋頭證書擴展閱讀:
當胎兒在母體內發育三至四個月時,指紋就已經形成,但兒童在成長期間指紋會略有改變,直到青春期14歲左右時才會定型。
在皮膚發育過程中,雖然表皮、真皮,以及基質層都在共同成長,但柔軟的皮下組織長得比相對堅硬的表皮快,因此會對表皮產生源源不斷的上頂壓力,迫使長得較慢的表皮向內層組織收縮塌陷,逐漸變彎打皺,以減輕皮下組織施加給它的壓力。
如此一來,一方面使勁向上攻,一方面被迫往下撤,導致表皮長得曲曲彎彎,坑窪不平,形成紋路。這種變彎打皺的過程隨著內層組織產生的上層壓力的變化而波動起伏,形成凹凸不平的脊紋或皺褶,直到發育過程終止,最終定型為至死不變的指紋。
通過指紋可以判斷年齡,人在年齡小時手掌面積也小,指紋線也顯得細。我們可以通過紋線的粗細和密集程度,判斷出這個人是小孩還是成年人。手指頭的皮膚里有汗腺,汗液通過汗腺導管將人體新陳代謝的廢棄物輸送到汗孔,然後排出體外。
在手指上,汗孔正分布在凸起的乳突線上,一個挨一個非常密集。而小犁溝沒有汗孔,不會分泌任何物質,分泌物全在這條線上,當碰到某物體時,接觸到乳突線的地方就會留下汗液,繼而留下指紋紋路形態。
所謂指紋泄露生活方式,其實是因為汗液泄露了生活方式。比如這段時間經常吃鹹的食物,汗液裡面氯化鈉含量就高。這就可以反映出個人的飲食習慣。
參考資料來源:網路-指紋鑒定
Ⅸ android 指紋證書和包名 怎麼獲取
最近在做Android的平板的開發,想在桌面上預置一些第三方應用的Widget,在桌面預置Widget的方法就是要獲得應用的包名和類名。
桌面預置widget的方法 在Launcher的配置文件 res/xml/default_workspace.xml中添加如下的代碼:<appwidget
launcher:packageName="com.google.android.apps.genie.geniewidget"
//預置應用的包名
launcher:className="com.google.android.apps.genie.geniewidget.miniwidget.MiniWidgetProvider"
//預置應用的Provider的類名,不是Activity的類名
launcher:screen="1"//在第幾屏0為第一屏,launcher:x="0"//x坐標launcher:y="0"//y坐標
launcher:spanX="4"//x方向占幾個單元格
launcher:spanY="1"///y方向占幾個單元格
通過logcat有時可以找到應用的包名和Provider類名,此方法不可取,容易出錯。系統的widget可以通過查找相關的源碼找到對應的包名和Provider的類名,但是第三方應用看不到源碼,但是也可以通過反編譯第三方應用,獲得相應的Maifest.xml文件,找到對應的包名和Provider類名,但是此方法比較繁瑣。
可以通過在Launcher中添加如下代碼,可以將系統中所安裝的所有 的widget的信息列印出來:
在Launcher.java中的onCreate方法中添加下面的代碼:
List<=mAppWidgetManager.getInstalledProviders();finalintproviderCount=providers.size();for(inti=0;i<providerCount;i++){
ComponentNameprovider=providers.get(i).provider;Log.i("xxx",
"packagename:"
+provider.getPackageName()+
"classname:"
+provider.getClassName());}新編譯Launcher,把Launcher push進去之後,執行 adb logcat -s xxx,就可以看到列印出來的Log信息,包名和Provider了類名。
桌面預置shortcut的方法:
在Launcher的配置文件 res/xml/default_workspace.xml中添加如下的代碼:<favorites
Ⅹ 證書指紋是什麼,有什麼用
用來認證的。