예제 #1
0
        public IdentityDocument(string identity)
            : this()
        {
            Identity validIdentity = null;

            if (Identity.TryParse(identity, out validIdentity))
            {
                Value = validIdentity;
            }
            else
            {
                throw new ArgumentException("Invalid identity.");
            }
        }
예제 #2
0
        /// <summary>
        /// Gets the identity value from the certificate subject.
        /// </summary>
        /// <param name="certificate"></param>
        /// <returns></returns>
        public static Identity GetIdentity(this X509Certificate2 certificate)
        {
            if (certificate == null)
            {
                throw new ArgumentNullException(nameof(certificate));
            }

            var identityName = certificate.GetNameInfo(
                X509NameType.SimpleName,
                false);

            Identity identity = null;

            if (!string.IsNullOrWhiteSpace(identityName))
            {
                Identity.TryParse(identityName, out identity);
            }

            return(identity);
        }