SignedObject Kelas

Definisi

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

[Android.Runtime.Register("java/security/SignedObject", DoNotGenerateAcw=true)]
public sealed class SignedObject : Java.Lang.Object, IDisposable, Java.IO.ISerializable
[<Android.Runtime.Register("java/security/SignedObject", DoNotGenerateAcw=true)>]
type SignedObject = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Warisan
SignedObject
Atribut
Penerapan

Keterangan

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

Lebih khusus lagi, SignedObject berisi objek Serializable lainnya, objek yang ditandatangani (to-be-)dan tanda tangannya.

Objek yang ditandatangani adalah "salinan mendalam" (dalam bentuk berseri) dari objek asli. Setelah salinan dibuat, manipulasi lebih lanjut dari objek asli tidak memiliki efek samping pada salinan.

Algoritma penandatanganan yang mendasar ditunjuk oleh objek Tanda Tangan yang diteruskan ke konstruktor dan verify metode . Penggunaan umum untuk penandatanganan adalah sebagai berikut:

{@code
            Signature signingEngine = Signature.getInstance(algorithm,
                                                            provider);
            SignedObject so = new SignedObject(myobject, signingKey,
                                               signingEngine);
            }

Penggunaan umum untuk verifikasi adalah sebagai berikut (setelah menerima SignedObject so):

{@code
            Signature verificationEngine =
                Signature.getInstance(algorithm, provider);
            if (so.verify(publickey, verificationEngine))
                try {
                    Object myobj = so.getObject();
                } catch (java.lang.ClassNotFoundException e) {};
            }

Beberapa poin perlu dicatat. Pertama, tidak perlu menginisialisasi mesin penandatanganan atau verifikasi, karena akan diinisialisasi ulang di dalam konstruktor dan verify metode . Kedua, agar verifikasi berhasil, kunci publik yang ditentukan harus merupakan kunci publik yang sesuai dengan kunci privat yang digunakan untuk menghasilkan SignedObject.

Lebih penting lagi, untuk alasan fleksibilitas, konstruktor dan verify metode memungkinkan mesin tanda tangan yang disesuaikan, yang dapat menerapkan algoritma tanda tangan yang tidak diinstal secara formal sebagai bagian dari penyedia kripto. Namun, sangat penting bahwa programmer yang menulis kode pemverifikasi menyadari mesin apa yang Signature digunakan, karena implementasinya sendiri dari verify metode ini dipanggil untuk memverifikasi tanda tangan. Dengan kata lain, berbahaya Signature dapat memilih untuk selalu mengembalikan true pada verifikasi dalam upaya untuk melewati pemeriksaan keamanan.

Algoritma tanda tangan dapat antara lain, DSA standar NIST, menggunakan DSA dan SHA-256. Algoritma ditentukan menggunakan konvensi yang sama dengan yang untuk tanda tangan. Algoritma DSA menggunakan algoritma hash pesan SHA-256 dapat ditentukan, misalnya, sebagai "SHA256withDSA". Dalam kasus RSA, algoritma penandatanganan dapat ditentukan sebagai, misalnya, "SHA256withRSA". Nama algoritma harus ditentukan, karena tidak ada default.

Nama Penyedia Paket Kriptografi ditunjuk juga oleh parameter Tanda Tangan ke konstruktor dan verify metode . Jika penyedia tidak ditentukan, penyedia default akan digunakan. Setiap penginstalan dapat dikonfigurasi untuk menggunakan penyedia tertentu sebagai default.

Aplikasi potensial SignedObject meliputi: <ul><li> Ini dapat digunakan secara internal untuk runtime Java apa pun sebagai token otorisasi yang tidak terlupakan - yang dapat diteruskan tanpa takut bahwa token dapat dimodifikasi dengan berbahaya tanpa terdeteksi. <li> Ini dapat digunakan untuk menandatangani dan menserialisasikan data/objek untuk penyimpanan di luar runtime Java (misalnya, menyimpan data kontrol akses penting pada disk). <li> Nested SignedObjects dapat digunakan untuk membuat urutan tanda tangan logis, menyerupai rantai otorisasi dan delegasi. </ul>

Ditambahkan dalam 1.2.

Java dokumentasi untuk java.security.SignedObject.

Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.

Konstruktor

Nama Deskripsi
SignedObject(ISerializable, IPrivateKey, Signature)

Membuat SignedObject dari objek Serializable apa pun.

Properti

Nama Deskripsi
Algorithm

Mengambil nama algoritma tanda tangan.

Class

Mengembalikan kelas runtime dari .Object

(Diperoleh dari Object)
Handle

Handel ke instans Android yang mendasar.

(Diperoleh dari Object)
JniIdentityHashCode

Mendapatkan kode hash identitas yang ditetapkan ke Java peer ini oleh runtime interop.

(Diperoleh dari Object)
JniManagedPeerState

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

(Diperoleh dari JavaObject)
JniPeerMembers

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

Object

Mengambil objek yang dienkapsulasi.

PeerReference

Mendapatkan referensi objek JNI untuk peer Java ini.

(Diperoleh dari Object)
ThresholdClass

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

(Diperoleh dari Object)
ThresholdType

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

(Diperoleh dari Object)

Metode

Nama Deskripsi
Clone()

Membuat dan mengembalikan salinan objek ini.

(Diperoleh dari Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

(Diperoleh dari JavaObject)
Dispose()

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
Dispose(Boolean)

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
DisposeUnlessReferenced()

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

(Diperoleh dari JavaObject)
Equals(Object)

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

(Diperoleh dari JavaObject)
Equals(Object)

Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini.

(Diperoleh dari Object)
GetHashCode()

Mengembalikan nilai kode hash untuk objek .

(Diperoleh dari Object)
GetSignature()

Mengambil tanda tangan pada objek yang ditandatangani, dalam bentuk array byte.

JavaFinalize()

Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek.

(Diperoleh dari Object)
Notify()

Membangunkan satu utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
NotifyAll()

Membangunkan semua utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
SetHandle(IntPtr, JniHandleOwnership)

Mengatur properti Handle.

(Diperoleh dari Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

(Diperoleh dari JavaObject)
ToArray<T>()

Membuat array terkelola dari pembungkus array Java ini.

(Diperoleh dari Object)
ToString()

Mengembalikan representasi string objek.

(Diperoleh dari Object)
UnregisterFromRuntime()

Membatalkan pendaftaran peer Java ini dari runtime interop.

(Diperoleh dari Object)
Verify(IPublicKey, Signature)

Memverifikasi bahwa tanda tangan dalam SignedObject ini adalah tanda tangan yang valid untuk objek yang disimpan di dalamnya, dengan kunci verifikasi yang diberikan, menggunakan mesin verifikasi yang ditunjuk.

Wait()

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>.

(Diperoleh dari Object)
Wait(Int64, Int32)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu.

(Diperoleh dari Object)
Wait(Int64)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IJavaPeerable.Disposed()

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

(Diperoleh dari JavaObject)
IJavaPeerable.Finalized()

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

(Diperoleh dari JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

(Diperoleh dari JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

(Diperoleh dari JavaObject)
IJavaPeerable.UnregisterFromRuntime()

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

Metode Ekstensi

Nama Deskripsi
GetJniTypeName(IJavaPeerable)

Mendapatkan nama JNI dari jenis instans self.

JavaAs<TResult>(IJavaPeerable)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Android.

JavaCast<TResult>(IJavaObject)

SignedObject adalah kelas untuk tujuan membuat objek runtime autentik yang integritasnya tidak dapat disusupi tanpa terdeteksi.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

Berlaku untuk