真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net數(shù)字簽名 數(shù)字簽名代碼實(shí)現(xiàn)

VB.NET 帶有相同簽名定義 如圖這個錯誤在哪?初學(xué)者如是問之。

自己仔細(xì)對比啊,就是說你同一個函數(shù)聲明了多次,刪除重復(fù)的就可以了。

創(chuàng)新互聯(lián)建站是一家企業(yè)級云計算解決方案提供商,超15年IDC數(shù)據(jù)中心運(yùn)營經(jīng)驗(yàn)。主營GPU顯卡服務(wù)器,站群服務(wù)器,四川電信科技城機(jī)房,海外高防服務(wù)器,成都機(jī)柜租用,動態(tài)撥號VPS,海外云手機(jī),海外云服務(wù)器,海外服務(wù)器租用托管等。

導(dǎo)師出了一個問題,如何用C++實(shí)現(xiàn)手寫電子簽名。要求是在觸屏上面完成的。。。希望有人可以幫幫我,想想思

寫個軟畫刷(毛筆樣式(我原來用OPENGL做的))

把繪圖結(jié)果保存成圖片

然后對整個圖片進(jìn)行MD5操作

MD5的結(jié)果就是數(shù)字簽名

觸屏只是輸入的問題,其實(shí)和鼠標(biāo)類似的。

.net的問題

Microsoft .NET Framework安全概述

本文概述了微軟.NET Framework安全結(jié)構(gòu),包括基于證據(jù)的安全,基于角色的安全,認(rèn)證和授權(quán)的概念,以及隔離存儲,密碼加密和擴(kuò)展性。本文還概述了.NET Framework安全策略帶給開發(fā)人員,管理員和最終用戶的主要好處。本文假定讀者已經(jīng)基本熟悉了.NET Framework通用語言運(yùn)行時和管理代碼的概念。

引言

目前的安全問題

在今天的軟件環(huán)境中,應(yīng)用程序的來源很多,它們執(zhí)行很多任務(wù)。對應(yīng)用程序代碼的信任是一個主要需求,因?yàn)槲覀冋l也不想軟件或信息遭到破壞。給予許可的安全策略不會允許對敏感信息的不適當(dāng)?shù)脑L問,或?qū)⒈镜貦C(jī)器暴露給惡意的程序或甚至是有平常錯誤的代碼。

過去,安全結(jié)構(gòu)提供了基于用戶帳號的隔離和訪問控制--在這些限制內(nèi)給予代碼完全訪問權(quán),并假定由特定用戶可運(yùn)行的代碼具有相同的信任度。不幸的是,如果所有程序都代表某用戶運(yùn)行,根據(jù)用戶對代碼的隔離對于保護(hù)一個程序不被其它用戶使用是不夠的。另一種情況,不能被完全信任的代碼經(jīng)常被轉(zhuǎn)移到"沙箱"模型中執(zhí)行,在此代碼運(yùn)行于隔離環(huán)境,而不會訪問大部分的服務(wù)。

對今天應(yīng)用程序的成功的安全解決方案必須能強(qiáng)化兩個安全模型間的平衡。它必須提供對資源的訪問,以便以完成有用的工作,它需要對應(yīng)用程序的安全性作細(xì)致的控制以確保代碼被識別,檢測,并給予合適的安全級別。.NET Framework就提供了一個這樣的安全模型。

Microsoft .NET Framework安全解決方案

.NET Framework安全解決方案基于管理代碼的概念,以及由通用語言運(yùn)行時(CLR)加強(qiáng)的安全規(guī)則。大部分管理代碼需要進(jìn)行驗(yàn)證以確保類型安全及預(yù)先定義好的其它屬性的行為的安全。例如,在驗(yàn)證的代碼中,聲明為接收4字節(jié)值的訪問將拒絕提供8字節(jié)參數(shù)的調(diào)用,因?yàn)椴皇穷愋桶踩?。?yàn)證過程還確保了執(zhí)行流只傳送到已知的位置,如方法入口點(diǎn)--這個過程去除了跳轉(zhuǎn)到任意位置執(zhí)行的能力。

驗(yàn)證將阻止不是類型安全的代碼執(zhí)行,在它們引起破壞前捕獲很多常見的編程錯誤。通常的弱點(diǎn)--如緩存溢出,對任意內(nèi)存或沒有初始化的內(nèi)存的讀取,對控件的隨意傳送--都不再可能出現(xiàn)。這將使最終用戶受益,因?yàn)樵谒麄儓?zhí)行代碼前對其進(jìn)行檢查。這也有益于開發(fā)人員,他們會發(fā)現(xiàn)很多常見錯誤(過去一直在困繞前開發(fā))現(xiàn)在可以查明,并能阻止它們引起破壞。

CLR也能使非管理代碼運(yùn)行,但非管理代碼不能從這些安全措施中受益。特殊的許可與對非管理代碼的調(diào)用能力相關(guān),一個強(qiáng)大的安全策略能確保這些許可被恰當(dāng)?shù)亟o予。經(jīng)過很長時間后,非管理代碼到管理代碼的移植將減少對非管理代碼的調(diào)用頻率。

微軟.NET Framework安全機(jī)制的構(gòu)件

基于證據(jù)的安全

.NET Framework引入了"基于證據(jù)的安全"的概念。在本質(zhì)上,它是對安全策略暴露出來問題的解答:

· 組合從哪個站點(diǎn)獲得?

組合是.NET Framework應(yīng)用程序的構(gòu)件。它們組成了部署,版本控制,重用,激活作用域,安全認(rèn)證的基本單元。應(yīng)用程序的組合是從網(wǎng)站上下載到客戶端的。

· 組合是從哪個URL獲得的?

安全策略需要明確的地址,而組合是從這個地址下載的。

· 組合是從哪個區(qū)獲得的?

區(qū)是基于代碼的位置,對安全標(biāo)準(zhǔn),如 Internet, intranet和本機(jī)等等,的描述。

· 組合的強(qiáng)名(strong name)是什么?

強(qiáng)名是由組合的創(chuàng)建者提供了密碼強(qiáng)化后的標(biāo)識符。盡管它沒有提供對創(chuàng)建者的任何證明,但它唯一標(biāo)識了組合,確保了組合沒有被破壞過。

根據(jù)對這些問題的回答,及其它證據(jù),安全策略可以對賦予組合垢合適許可進(jìn)行計算。從多種來源可以得到證據(jù),包括CLR,瀏覽器,微軟ASP.NET,及外殼--這依賴于代碼的來源。

策略驅(qū)動的信任模型使用代碼證據(jù)

當(dāng)組合被調(diào)入內(nèi)存進(jìn),CLR策略系統(tǒng)通過收集組合的證據(jù)并在策略環(huán)境中對證據(jù)進(jìn)行計算,從而決定賦予組合什么樣的許可權(quán)。CLR策略系統(tǒng)然后根據(jù)評估過的證據(jù)和組合作出的許可請求給予組合一組許可。只有在組合被給予了一組最少的許可后,或組合根本不需要許可權(quán),組合的創(chuàng)建者才能知道組合正確運(yùn)行。通過一個或多個對特定許可的請求,這樣的附加需求可以被傳送室策略系統(tǒng)。

根據(jù)許可請求的類型,策略系統(tǒng)可以進(jìn)一步限制給予組合的許可(刪除不必要的許可)或甚至拒絕將組合裝入內(nèi)存(如果運(yùn)行組合所需的最小許可沒有被策略給予)。在不存在任何許可請求的情況下,組合永遠(yuǎn)不會被給予多于策略系統(tǒng)將會給予的許可權(quán)限,請求只是進(jìn)一步限制得到的許可。

安全策略包含了許多代碼組,這些組包含了根據(jù)證據(jù)應(yīng)給予的許可權(quán)。代碼組描述的許可可提供給從特定的安全區(qū)域獲得的組合,或提供給由特定發(fā)行商簽名過的組合,等等。盡管隨CLR發(fā)行了一組默認(rèn)的代碼組(及相關(guān)許可),但管理員可以對這些CLR安全的進(jìn)行定置,以適合他們的特殊需求。記住,通過定義與證據(jù)相關(guān)的代碼組,任何東西都可以作為證據(jù)提交,只要安全策略可以使用它。

創(chuàng)建許可的的過程涉及到對證據(jù)的評估,以確定代碼組適用于哪個等級:企業(yè),機(jī)器,和用戶。策略按上面順序?qū)@三個等級進(jìn)行評估,然后創(chuàng)建交插了三個等級的許可設(shè)置。管理員可以將任何一個策略等級標(biāo)記為終結(jié)(final),這樣做應(yīng)付阻止在其它等級上對策略做進(jìn)一步評估。例如,管理員可以在機(jī)器級別上對組合終止策略,這樣就會阻止用戶級策略對該組合的應(yīng)用。

一旦策略完成,許可的最初設(shè)置也就創(chuàng)建了。組合通過從三個方面做出特定的請求可以優(yōu)化這些許可:

· 第一方面是指定為了使組合運(yùn)行它必須擁有的最小許可設(shè)置。如果這些許可沒有給予,那么組合將不同調(diào)入到內(nèi)存,并拋出例外。

· 第二,可以指定一組可選的許可。盡管組合希望存在這些許可,但如果無法獲得這些許可,它仍可以調(diào)入到內(nèi)存。

· 最后,行為特別好的組合實(shí)際上會拒絕它們所不需的有風(fēng)險的許可。這三個優(yōu)化選項(xiàng)是調(diào)入時作為聲明語句實(shí)現(xiàn)的。

在運(yùn)行時,許可是根據(jù)代碼的執(zhí)行計算的。右側(cè)的圖總結(jié)了這個過程的發(fā)生順序。組合A3將它的證據(jù)和來自主機(jī)的證據(jù)提供給策略評估器。策略評估器在創(chuàng)建許可時也要考慮從組合得到的許可請求,"G3"。組合A3由組合A2調(diào)用,而A2又是由組合A1調(diào)用的。當(dāng)組合A3執(zhí)行一個引發(fā)安全檢查的操作時,A2和A1獲得的許可同樣也要進(jìn)行檢查,以確保它們擁有A3所請求的許可權(quán)限。在這個過程中,此過程稱為堆棧遍歷(walking),堆棧中每個組合的許可權(quán)限都要進(jìn)行檢查以確定所給予的權(quán)限設(shè)置是否包含安全檢查所需要的許可。如果堆棧中的每個組合被給予了安全檢查所需要的許可,調(diào)用將成功。如何任何組合沒有給予所需要的許可,堆棧遍歷過程失敗,安全例外將被拋出。

圖 1.主機(jī)和組合為策略評估器提供證據(jù),評估器使用安全策略和許可請求確定組合的許可權(quán)限。應(yīng)用程序中不同運(yùn)行組件的許可權(quán)限然后用于作出授權(quán)決定。

代碼訪問安全堆棧遍歷可以保護(hù)代碼不受攻擊。在精通的攻擊中,惡意代碼欺騙受信任代碼執(zhí)行它獨(dú)自不能運(yùn)行的操作--有效地利用代碼的許可權(quán)限實(shí)現(xiàn)惡意的目的。對這類攻擊,開發(fā)人員很難進(jìn)行防備--但堆棧遍歷確保了如果涉及到了低級信任等級的代碼,有效許可將被減少到信任等級最低的代碼具有的許可。

結(jié)果,代碼將從源處獲得不同的信任等級,并在適合于特定的代碼執(zhí)行環(huán)境的限制下運(yùn)行。

.NET Framework調(diào)用的"自由"安全性

一些活動,如讀寫文件,顯示對話框,讀寫環(huán)境變量,可以通過包含在框架安全構(gòu)架中的.NET Framework方法實(shí)現(xiàn)。這就使.NET Framework能根據(jù)安全策略允許或不允許一個操作,而不需要程序員做額外的工作。盡管暴露了保護(hù)資源的管理類的創(chuàng)建者在他們的庫中做了明確的安全需求,使用.NET Framework類庫訪問受保護(hù)資源的開發(fā)人員可以自由地利用代碼訪問安全系統(tǒng);他們不必作出明確的安全調(diào)用。

管理員可以通過決定給予哪些許可來優(yōu)化安全策略,然后,依靠.NET Framework處理所有的安全操作。代碼訪問安全能阻止大部分的惡意攻擊,對代碼的驗(yàn)證減少了緩存溢出和其它會導(dǎo)致安全攻擊的不期望的行為。因此,應(yīng)用程序和組件生來就受到了保護(hù),它們免于大多數(shù)安全問題的沖擊,而這些安全問題一直困繞著本地代碼的實(shí)現(xiàn)。

基于角色的安全

有時根據(jù)已認(rèn)證的身份或根據(jù)與代碼執(zhí)行上下文相關(guān)的角色作出認(rèn)證決定是合適的。例如,金融和企業(yè)軟件可以通過評估角色信息的企業(yè)邏輯加強(qiáng)策略。根據(jù)作出請求的用戶角色可以對金融交易的數(shù)據(jù)進(jìn)行限制。出納被允許可以處理一定金額的請求,而多于該金額的所有工作需要監(jiān)督人的角色來處理。

身份可以映射到登錄系統(tǒng)的用戶,或由應(yīng)用程序定義。相應(yīng)的原則封裝了身份和其它相關(guān)的角色信息(例如,但并不限于此,用戶的"組"由操作系統(tǒng)定義)。

認(rèn)證和授權(quán)

認(rèn)證是一個過程,它接收來自用戶的證書,并對證書的授權(quán)進(jìn)行確認(rèn)。如果證書是有效的,那么用戶就可以說他擁有已認(rèn)證的身份。而授權(quán)的過程是:確定認(rèn)證用戶是否能夠訪問給定的資源。認(rèn)證可通過系統(tǒng)或企業(yè)邏輯來完成,通過某個API它是或獲得的。認(rèn)證API是完全可擴(kuò)展的,因此開發(fā)人員根據(jù)需要使用自己的企業(yè)邏輯。開發(fā)人員可以對他們的認(rèn)證需求進(jìn)行編碼,也可以修改底層的認(rèn)證方法而無需對他們的代碼作太大變化。除了微軟Windows?操作系統(tǒng)身份認(rèn)證外,還有的認(rèn)證方法包括基本HTTP,摘要和 Kerberos,以及微軟Passport和基于窗體的認(rèn)證。這些認(rèn)證方法已經(jīng)完全集成到ASP.NET中了。

在ASP.NET窗體認(rèn)證中,用戶提供證書,并提交窗體。如果應(yīng)用程序簦別請求,系統(tǒng)發(fā)送一個cookie ,該cookie以某種形式包含包含了證書或包含重新獲得身份的關(guān)鍵字。接下來發(fā)送的請求在頭中包含了cookie,ASP.NET處理程序通過應(yīng)用程序所期望的任何有效方法對這些請求認(rèn)證和授權(quán)。如果請求沒有經(jīng)過認(rèn)證,HTTP客戶端將用于把請求發(fā)送到認(rèn)證窗體,在那里用戶可能提供信任證書。窗體認(rèn)證有時用于個性化--為已知用戶的內(nèi)容進(jìn)行定置。在一些情況下,身份是問題所在而不是認(rèn)證,因此用戶的個性化信息可以簡單地通過訪問用戶或獲得。

授權(quán)的目的是確定作出請求的身份是否被給予了對給定資源的訪問權(quán)。ASP.NET提供了兩種類型的授權(quán)服務(wù):文件授權(quán)和URL授權(quán)。文件授權(quán)根據(jù)正在作用的方法和作出請求的身份決定用戶使用于哪個訪問控制列表。URL授權(quán)是URI名稱空間和不同用戶或角色間的邏輯映射。

隔離存儲

.NET Framework提供了一個特殊的功能,隔離存儲,用于存儲數(shù)據(jù),甚至是當(dāng)不允許對文件進(jìn)行訪問時--例如,當(dāng)從Internet下載了一個管理控件,并運(yùn)行它,為它提供了有限的許可權(quán)但沒有權(quán)力讀寫文件。

隔離存儲是一組新的用于.NET支持的用于本地存儲的類型和方法。在本質(zhì)上,每個組合可以訪問磁盤上一斷被隔離的存儲空間。它不允許訪問其它數(shù)據(jù),隔離存儲只對為它創(chuàng)建的組合有效。

隔離存儲也可被應(yīng)用程序用于保存活動記錄,保存設(shè)置,或者將狀態(tài)數(shù)據(jù)保存到磁盤上以備將來之用。因?yàn)楦綦x存儲的位置是預(yù)先決定好的,所以隔離存儲為指定唯一存儲空間提供了一種方便的方式,而不需要決定文件路徑。

從本地企業(yè)局域網(wǎng)獲得的代碼具有相似的限制,但更少,它可以訪問大限額的隔離存儲。最后,從受限站點(diǎn)區(qū)域(不信任站點(diǎn))來的代碼沒有對隔離存儲的訪問權(quán)。

加密

.NET Framework提供了一組加密對象,它們支持加密算法、數(shù)字簽名、散列、生成隨機(jī)數(shù),是通過眾所周知的運(yùn)算法則實(shí)現(xiàn)的,如RSA, DSA, Rijndael/AES, Triple DES, DES, 和 RC2, 以及MD5, SHA1, SHA-256, SHA-384 和 SHA-512散列算法。同時還支持在IETF和W3C開發(fā)的XML數(shù)字簽名規(guī)范。.NET Framework使用加密對象支持內(nèi)部服務(wù)。這些對象還作為管理代碼提供給需要加密支持的開發(fā)人員。

如何指定安全性?

如果要對組合運(yùn)行時的行為進(jìn)行修改,根據(jù)程序員的需要,可以作出聲明式安全或強(qiáng)迫式安全的修改。

聲明式安全

聲明式安全使程序員可以直接在組合代碼的元數(shù)據(jù)中為組合指定安全需求。許可請求和所有其它形式的聲明式安全是在代碼中是作為定置屬性指定的。類,屬性和方法的注釋用于優(yōu)化許可。例如,聲明式安全可用于類的調(diào)用者在調(diào)用方法前檢查調(diào)用者是否被已知地行商簽名過,或有一個特定的強(qiáng)名。

由于聲明屬性是組合元數(shù)據(jù)的一部分,所以組合的安全需求易于辨別??梢允褂霉ぞ邔M合進(jìn)行掃描,以發(fā)現(xiàn)哪些方法需要某些許可,哪些方法斷言了某些許可。

當(dāng)被請求的活動和許可在編譯時是知道時,聲明式檢查可作為選擇的解決方案之一。例如,如果方法總是檢查對C:\temp的寫訪問許可,那么許可檢查就會從聲明中得到好處。另一方面,如果被請求的具有訪問權(quán)的位置發(fā)生了變化,那么強(qiáng)迫式安全也許是一個比較好的解決方案。

強(qiáng)迫式安全

強(qiáng)迫式安全直接在代碼中實(shí)現(xiàn)。程序員通過程序采取安全活動,并且根據(jù)安全堆棧的狀態(tài)決定是給予還是拒絕許可。例如,當(dāng)一個方法請求訪問一個特定的文件時,如果調(diào)用者(或方法的任何一個調(diào)用者)沒有被給予必需的許可權(quán)限,那么請求失敗。因?yàn)閺?qiáng)迫式安全是通過程序?qū)崿F(xiàn)的,所以滿足了動態(tài)需求。如果你需要對一個特定文件的訪問許可,但該許可還要根據(jù)其它信息發(fā)生變化,那么,強(qiáng)迫式安全就是可選的解決方案。

總結(jié)

.NET Framework安全迎合了這種事實(shí):軟件向多樣化的移動組件發(fā)發(fā)展,并根據(jù)這種事實(shí)提供保護(hù)。在一個細(xì)化的、可擴(kuò)展的策略和許可系統(tǒng)下,用戶能夠運(yùn)行功能強(qiáng)大的代碼,而同時減少相關(guān)的風(fēng)險。在沒有運(yùn)行時對用戶作出信任決定時,管理員可以在各個級別創(chuàng)建強(qiáng)壯的安全策略。策略是完全可定置的。開發(fā)人員能夠集中解決應(yīng)用程序邏輯,而不用關(guān)心核心的安全問題(它由CLR透明地處理)。然而,開發(fā)人員可以在任何時候擴(kuò)展安全模型。

vb.net生成電子合同簽字保存

契約鎖,電子合同簽字。

VB net 是一種面向?qū)ο蟮木幊陶Z言。 在面向?qū)ο缶幊谭椒ㄖ?,程序由通過動作相互交互的各種對象組成。 對象可能采取的動作稱為方法。 相同類型的對象被認(rèn)為具有相同的類型,或者更經(jīng)常地被稱為在同一類中。


分享文章:vb.net數(shù)字簽名 數(shù)字簽名代碼實(shí)現(xiàn)
轉(zhuǎn)載來于:http://weahome.cn/article/doscsee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部