private static ICertificatePal[] ReadPkcs12Collection( ReadOnlySpan <byte> rawData, SafePasswordHandle password, bool ephemeralSpecified) { using (var reader = new AndroidPkcs12Reader(rawData)) { reader.Decrypt(password, ephemeralSpecified); ICertificatePal[] certs = new ICertificatePal[reader.GetCertCount()]; int idx = 0; foreach (UnixPkcs12Reader.CertAndKey certAndKey in reader.EnumerateAll()) { AndroidCertificatePal pal = (AndroidCertificatePal)certAndKey.Cert !; if (certAndKey.Key != null) { pal.SetPrivateKey(AndroidPkcs12Reader.GetPrivateKey(certAndKey.Key)); } certs[idx] = pal; idx++; } return(certs); } }
private static ICertificatePal ReadPkcs12(ReadOnlySpan <byte> rawData, SafePasswordHandle password, bool ephemeralSpecified) { using (var reader = new AndroidPkcs12Reader(rawData)) { reader.Decrypt(password, ephemeralSpecified); UnixPkcs12Reader.CertAndKey certAndKey = reader.GetSingleCert(); AndroidCertificatePal pal = (AndroidCertificatePal)certAndKey.Cert !; if (certAndKey.Key != null) { pal.SetPrivateKey(AndroidPkcs12Reader.GetPrivateKey(certAndKey.Key)); } return(pal); } }