KeyGenerator Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit.
[Android.Runtime.Register("javax/crypto/KeyGenerator", DoNotGenerateAcw=true)]
public class KeyGenerator : Java.Lang.Object
[<Android.Runtime.Register("javax/crypto/KeyGenerator", DoNotGenerateAcw=true)>]
type KeyGenerator = class
inherit Object
- Vererbung
- Attribute
Hinweise
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit.
Schlüsselgeneratoren werden mit einer der getInstance
Klassenmethoden dieser Klasse erstellt.
KeyGenerator-Objekte sind wiederverwendbar, d. h., nachdem ein Schlüssel generiert wurde, kann dasselbe KeyGenerator-Objekt erneut verwendet werden, um weitere Schlüssel zu generieren.
Es gibt zwei Möglichkeiten, einen Schlüssel zu generieren: algorithmusunabhängig und algorithmusspezifisch. Der einzige Unterschied zwischen den beiden ist die Initialisierung des Objekts:
<ul><li><b>Algorithm-Independent Initialization</b>
Alle Schlüsselgeneratoren teilen sich die Konzepte einer Schlüsselgröße und einer Quelle der Zufälligkeit. Es gibt eine #init(int, java.security.SecureRandom) init
Methode in dieser KeyGenerator-Klasse, die diese beiden universell freigegebenen Typen von Argumenten übernimmt. Es gibt auch eine, die nur ein keysize
Argument verwendet und die SecureRandom-Implementierung des installierten Anbieters mit der höchsten Priorität als Quelle der Zufälligkeit (oder eine vom System bereitgestellte Quelle der Zufälligkeit verwendet, wenn keiner der installierten Anbieter eine SecureRandom-Implementierung bereitstellt) und eine, die nur eine Quelle der Zufälligkeit benötigt.
Da beim Aufrufen der oben genannten algorithmusunabhängigen init
Methoden keine anderen Parameter angegeben werden, liegt es beim Anbieter, was mit den algorithmusspezifischen Parametern (falls vorhanden) zu tun ist, die den einzelnen Schlüsseln zugeordnet werden sollen.
<li><b>Algorithmusspezifische Initialisierung</b>
Für Situationen, in denen bereits ein Satz algorithmusspezifischer Parameter vorhanden ist, gibt es zwei #init(java.security.spec.AlgorithmParameterSpec) init
Methoden, die über ein AlgorithmParameterSpec
Argument verfügen. Einer hat auch ein SecureRandom
Argument, während der andere die SecureRandom-Implementierung des installierten Anbieters mit der höchsten Priorität als Quelle der Zufälligkeit verwendet (oder eine vom System bereitgestellte Quelle der Zufälligkeit, wenn keiner der installierten Anbieter eine SecureRandom-Implementierung bereitstellt). </ul>
Falls der Client den KeyGenerator nicht explizit initialisiert (über einen Aufruf einer init
Methode), muss jeder Anbieter eine Standardinitialisierung bereitstellen (und dokumentieren).
Android stellt die folgenden KeyGenerator
Algorithmen bereit: <Table<>thead><tr<>th>Algorithm</th>><Unterstützte API-Ebenen</th<>/tr></thead><tbody<>tr<>td>AES</td<>td td>1+</td></tr<>tr class="deprecated"><td>AESWRAP</td><td>1-8</td<>/tr<>tr tr td><>ARC4</td><td td>14+</td<>/tr<>tr><td>BLOWFISH</td><td td>10+</td></tr><tr tr<>td>ChaCha20</td td>><28+</td<>/tr<>tr tr><td>DES</td td<>td>1+</td></tr><tr td<>>DESede</td td><td>1+</td/>< tr>tr class="deprecated"><td>DESedeWRAP</td><td>1-8</td<>/tr><tr trd><>HmacMD5</td><td td 1+</td></tr><tr td>><>HmacSHA1</td td>><11+</td></tr><tr tr<>td>HmacSHA224</td td><td>1-8,22+</td<></tr><tr><td>HmacSHA256</td><td td>1+</td></tr><trd><>HmacSHA384</td td><td>1+</td<>/tr><tr tr<>td>HmacSHA512</td td><td>1+</td></tr<>tr class="deprecated"<>td>RC4</td td><td>10-13</Td></tr></tbody></table>
Diese Algorithmen werden im Abschnitt KeyGenerator der Dokumentation zum Namen des Standardalgorithmus für Java-Kryptografiearchitektur beschrieben.
In Version 1.4 hinzugefügt.
Java-Dokumentation für javax.crypto.KeyGenerator
.
Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
KeyGenerator(IntPtr, JniHandleOwnership) |
Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Runtime aufgerufen. |
KeyGenerator(KeyGeneratorSpi, Provider, String) |
Erstellt ein KeyGenerator-Objekt. |
Eigenschaften
Algorithm |
Gibt den Algorithmusnamen dieses |
Class |
Gibt die Laufzeitklasse dieses |
Handle |
Das Handle zum zugrunde liegenden Android-instance. (Geerbt von Object) |
JniIdentityHashCode |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. (Geerbt von Object) |
JniPeerMembers |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. |
PeerReference |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. (Geerbt von Object) |
Provider |
Gibt den Anbieter dieses |
ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
Methoden
Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
Dispose() |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. (Geerbt von Object) |
Dispose(Boolean) |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. (Geerbt von Object) |
Equals(Object) |
Gibt an, ob ein anderes Objekt diesem "gleich" ist. (Geerbt von Object) |
GenerateKey() |
Generiert einen geheimen Schlüssel. |
GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
GetInstance(String) |
Gibt ein |
GetInstance(String, Provider) |
Gibt ein |
GetInstance(String, String) |
Gibt ein |
Init(IAlgorithmParameterSpec) |
Initialisiert diesen Schlüsselgenerator mit dem angegebenen Parametersatz. |
Init(IAlgorithmParameterSpec, SecureRandom) |
Initialisiert diesen Schlüsselgenerator mit dem angegebenen Parametersatz und einer vom Benutzer bereitgestellten Quelle der Zufälligkeit. |
Init(Int32) |
Initialisiert diesen Schlüsselgenerator für eine bestimmte Schlüsselgröße. |
Init(Int32, SecureRandom) |
Initialisiert diesen Schlüsselgenerator für eine bestimmte Schlüsselgröße unter Verwendung einer vom Benutzer bereitgestellten Quelle der Zufälligkeit. |
Init(SecureRandom) |
Initialisiert diesen Schlüsselgenerator. |
JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind. (Geerbt von Object) |
Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
ToArray<T>() |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
UnregisterFromRuntime() |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. (Geerbt von Object) |
Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel durch em benachrichtigen/em> oder <em>interrupted</em>.<>< (Geerbt von Object) |
Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IJavaPeerable.Disposed() |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. (Geerbt von Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. (Geerbt von Object) |
IJavaPeerable.Finalized() |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. (Geerbt von Object) |
IJavaPeerable.JniManagedPeerState |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. (Geerbt von Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. (Geerbt von Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. (Geerbt von Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. (Geerbt von Object) |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine Für Android-Runtime überprüfte Typkonvertierung aus. |
JavaCast<TResult>(IJavaObject) |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. |
GetJniTypeName(IJavaPeerable) |
Diese Klasse stellt die Funktionalität eines geheimen (symmetrischen) Schlüsselgenerators bereit. |