public SslStatus SetCertificate(SecIdentity identify, IEnumerable <SecCertificate> certificates) { using (var array = Bundle(identify, certificates)) { result = SSLSetCertificate(Handle, array.Handle); return(result); } }
public SecIdentity2(SecIdentity identity) { if (identity == null) { throw new ArgumentNullException(nameof(identity)); } InitializeHandle(sec_identity_create(identity.Handle)); }
public SecIdentity2(SecIdentity identity, params SecCertificate [] certificates) { if (identity == null) { throw new ArgumentNullException(nameof(identity)); } if (certificates == null) { throw new ArgumentNullException(nameof(certificates)); } using (var nsarray = NSArray.FromObjects(certificates)) InitializeHandle(sec_identity_create_with_certificates(identity.Handle, nsarray.Handle)); }
NSArray Bundle(SecIdentity identity, IEnumerable <SecCertificate> certificates) { int i = identity == null ? 0 : 1; int n = certificates == null ? 0 : certificates.Count(); var ptrs = new IntPtr [n + i]; if (i == 1) { ptrs [0] = identity.Handle; } foreach (var certificate in certificates) { ptrs [i++] = certificate.Handle; } return(NSArray.FromIntPtrs(ptrs)); }