Signature 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
Signature 類別可用來提供數位簽名演算法的功能應用程式。
[Android.Runtime.Register("java/security/Signature", DoNotGenerateAcw=true)]
public abstract class Signature : Java.Security.SignatureSpi
[<Android.Runtime.Register("java/security/Signature", DoNotGenerateAcw=true)>]
type Signature = class
inherit SignatureSpi
- 繼承
- 屬性
備註
Signature 類別可用來提供數位簽名演算法的功能應用程式。 數位簽章用於數位資料的驗證和完整性保證。
簽章演算法可以是使用 DSA 和 SHA-1 的 NIST 標準 DSA。 使用 SHA-1 訊息摘要演算法的 DSA 演演算法可以指定為 SHA1withDSA
。 在 RSA 的情況下,訊息摘要演算法有多個選擇,因此可以將簽署演算法指定為 、、 MD2withRSA
MD5withRSA
或 SHA1withRSA
。 必須指定演算法名稱,因為沒有預設值。
Signature 物件可用來產生和驗證數字簽名。
使用 Signature 對象進行簽署數據或驗證 signature:<ol 有三個階段>
<li>初始化,使用任一項
<ul>
<li>公鑰,其會初始化驗證簽章(請參閱 #initVerify(PublicKey) initVerify
), 或
<li>a private key (and optionally a Secure Random Number Generator), 這會初始化簽章以進行簽署 (請參閱 #initSign(PrivateKey)
和 #initSign(PrivateKey, SecureRandom)
)。
</ul>
<li>Updateing
根據初始化的類型,這會更新要簽署或驗證的位元組。 #update(byte) update
請參閱方法。
<li>簽署或驗證所有更新位元組的簽章。 #sign() sign
請參閱 方法和 #verify(byte[]) verify
方法。
</老>
請注意,這個類別是抽象的,而且會因為歷史原因而延伸。SignatureSpi
應用程式開發人員應該只注意這個 Signature
類別中定義的方法;超類別中的所有方法都適用於想要提供自己實作數位簽名演算法的密碼編譯服務提供者。
Android 提供下列Signature
演算法:<表><thead><tr<>th>Algorithm</th th supported API Levels</><>th></<>tr/thead>><<tbody tr<>td>DSA</td><td>1+/td/tr<<>>tr td>DSAwithSHA1</td>><td 1+<</><td></tr tr><class=“deprecated”><td>DSS</td><td>1-19</td></tr><<>td>ECDSA</td<>td>11+</><td/tr><><td>ECDSAwithSHA1</td td<>>11+</td></tr tr<>class=“deprecated”<>td>MD2withRSA</td td>1-3</td<>/tr tr><class=“deprecated”<>td<>>MD4withRSA/<td><td>1-8</td<>/tr tr<><>td>MD5withRSA/td><>1+</<>td/tr<>tr class=“deprecated”><td>MD5withRSA</ISO9796-2</>><td td 1-8</td></>><<>tr tr td NONEwithDSA</td<>td>1+</td<>/tr><><td>NONEwithECDSA</td td>><11+</td<>/tr<>tr><td>NONEwithRSA</td<>td>17+</><td/tr tr class=“deprecated”<>td>RSASSA-PSS</>><td td 1-8</td<>/><><tr><tr td>SHA1withDSA</td td>1+</td<>></tr><tr><td>SHA1withECDSA</td><td>11+</td></<>><tr td>SHA1withRSA</td td>1+</td<<>>/tr tr<>class=“deprecated”<>td>SHA1withRSA/ISO9796-2</td td>><1-8</td<>/tr tr>><<td>SHA1withRSA/PSS</td td>23+</td><></tr><tr>td>SHA224withDSA</td><td>20+</td></<<>>>tr td SHA224withECDSA/td<>td>20+/><td/tr>><<>td SHA224withRSA/td td 20+<</<>td<>>/tr<>><>td SHA224withRSA<</PSS</td td>23+</td/><><<tr><tr><td>SHA256withDSA</td><td>1+</td></><><>tr td SHA256withECDSA/td<>td>11+/<>td/tr>>><<td SHA256withRSA/><>td td 1+<</><td/>><<tr td>SHA256withRSA<</PSS</td td>23+</td><></tr tr><<>td>SHA384withECDSA</td td>><11+</td></><<>tr tr td>SHA384withRSA/td<>>1+</<>td/tr<>td SHA384withRSA</PSS</><>td td 23+</><td/tr<<>>tr><>td>SHA512withECDSA</td td td><>11+</td<>/tr><td><>SHA512withRSA/td<>td>1+</td<>/><tr tr><td>SHA512withRSA</PSS</td<>td>23+</td<>/tr<>/tbody></table>
這些演算法會在 Java 密碼編譯架構標準演算法名稱檔的簽章一節中說明。
的 java.security.Signature
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
建構函式
Signature(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。 |
Signature(String) |
為指定的演算法建立 Signature 物件。 |
欄位
Uninitialized |
已淘汰.
可能 |
屬性
Algorithm |
傳回這個簽章對象的演算法名稱。 |
AppRandom |
應用程式指定的隨機來源。 (繼承來源 SignatureSpi) |
Class |
傳回這個 |
Handle |
基礎Android實例的句柄。 (繼承來源 Object) |
JniIdentityHashCode |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 (繼承來源 Object) |
JniPeerMembers |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 |
Parameters |
傳回與這個簽章物件搭配使用的參數。 |
PeerReference |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 (繼承來源 Object) |
Provider |
傳回這個簽章物件的提供者。 |
State |
這個簽章物件的目前狀態。 |
ThresholdClass |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
ThresholdType |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
方法
Clone() |
如果實作可複製,則傳回復製品。 (繼承來源 SignatureSpi) |
Dispose() |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 (繼承來源 Object) |
Dispose(Boolean) |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 (繼承來源 Object) |
EngineGetParameter(String) |
已淘汰.
取得指定演算法參數的值。 (繼承來源 SignatureSpi) |
EngineGetParameters() |
提供者會覆寫這個方法,以傳回與這個簽章引擎搭配使用的參數,如果這個簽章引擎不使用任何參數,則為 null。 (繼承來源 SignatureSpi) |
EngineInitSign(IPrivateKey) |
使用指定的私鑰初始化此簽章物件以進行簽署作業。 (繼承來源 SignatureSpi) |
EngineInitSign(IPrivateKey, SecureRandom) |
使用指定的私鑰和簽署作業的隨機性來源,初始化這個簽章物件。 (繼承來源 SignatureSpi) |
EngineInitVerify(IPublicKey) |
使用指定的公鑰初始化這個簽章物件以進行驗證作業。 (繼承來源 SignatureSpi) |
EngineSetParameter(IAlgorithmParameterSpec) |
提供者會覆寫這個方法,以使用指定的參數集初始化這個簽章引擎。 (繼承來源 SignatureSpi) |
EngineSetParameter(String, Object) |
已淘汰.
將指定的演算法參數設定為指定的值。 (繼承來源 SignatureSpi) |
EngineSign() |
傳回到目前為止更新之所有數據的簽章位元組。 (繼承來源 SignatureSpi) |
EngineSign(Byte[], Int32, Int32) |
完成此簽章作業,並將產生的簽章位元組儲存在提供的緩衝區 |
EngineUpdate(Byte[], Int32, Int32) |
使用指定的位元組陣列,從指定的位移開始,更新要簽署或驗證的數據。 (繼承來源 SignatureSpi) |
EngineUpdate(ByteBuffer) |
使用指定的 ByteBuffer 更新要簽署或驗證的數據。 (繼承來源 SignatureSpi) |
EngineUpdate(SByte) |
使用指定的位元組更新要簽署或驗證的數據。 (繼承來源 SignatureSpi) |
EngineVerify(Byte[]) |
驗證傳入的簽章。 (繼承來源 SignatureSpi) |
EngineVerify(Byte[], Int32, Int32) |
從指定的位移開始,驗證指定位元組陣列中的傳入簽章。 (繼承來源 SignatureSpi) |
Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
GetInstance(String) |
傳回實作指定簽章演算法的 Signature 物件。 |
GetInstance(String, Provider) |
傳回實作指定簽章演算法的 Signature 物件。 |
GetInstance(String, String) |
傳回實作指定簽章演算法的 Signature 物件。 |
GetParameter(String) |
已淘汰.
取得指定演算法參數的值。 |
InitSign(IPrivateKey) |
初始化這個物件以進行簽署。 |
InitSign(IPrivateKey, SecureRandom) |
初始化這個物件以進行簽署。 |
InitVerify(Certificate) |
使用指定憑證中的公鑰,初始化此物件以進行驗證。 |
InitVerify(IPublicKey) |
初始化此物件以進行驗證。 |
JavaFinalize() |
當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。 (繼承來源 Object) |
Notify() |
喚醒正在等候此物件監視器的單一線程。 (繼承來源 Object) |
NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
SetParameter(IAlgorithmParameterSpec) |
使用指定的參數集,初始化這個簽章引擎。 |
SetParameter(String, Object) |
已淘汰.
將指定的演算法參數設定為指定的值。 |
Sign() |
傳回已更新之所有數據的簽章位元組。 |
Sign(Byte[], Int32, Int32) |
完成簽章作業,並將產生的簽章位元組儲存在提供的緩衝區 |
ToArray<T>() |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 (繼承來源 Object) |
ToString() |
傳回物件的字串表示。 (繼承來源 Object) |
UnregisterFromRuntime() |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 (繼承來源 Object) |
Update(Byte[]) |
使用指定的位元組陣列,更新要簽署或驗證的數據。 |
Update(Byte[], Int32, Int32) |
使用指定的位元組陣列,從指定的位移開始,更新要簽署或驗證的數據。 |
Update(ByteBuffer) |
使用指定的 ByteBuffer 更新要簽署或驗證的數據。 |
Update(SByte) |
更新由位元組簽署或驗證的數據。 |
Verify(Byte[]) |
驗證傳入的簽章。 |
Verify(Byte[], Int32, Int32) |
從指定的位移開始,驗證指定位元組陣列中的傳入簽章。 |
Wait() |
讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<> (繼承來源 Object) |
Wait(Int64) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
Wait(Int64, Int32) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
明確介面實作
IJavaPeerable.Disposed() |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 (繼承來源 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 (繼承來源 Object) |
IJavaPeerable.Finalized() |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 (繼承來源 Object) |
IJavaPeerable.JniManagedPeerState |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 (繼承來源 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 (繼承來源 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 (繼承來源 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 (繼承來源 Object) |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 |
GetJniTypeName(IJavaPeerable) |
Signature 類別可用來提供數位簽名演算法的功能應用程式。 |