예제 #1
0
파일: PemPart.cs 프로젝트: sdcb/Ecd2Pem
 public static PemPart Create(PemPartTypes type, byte[] body)
 {
     return(new PemPart
     {
         Type = type,
         Body = body
     });
 }
예제 #2
0
파일: PemPart.cs 프로젝트: sdcb/Ecd2Pem
 internal static PemPart Create(PemPartTypes type, params PemPart[] parts)
 {
     return(new PemPart
     {
         Type = type,
         Body = parts.Select(x => x.Serialize()).SelectMany(x => x).ToArray()
     });
 }
예제 #3
0
파일: PemPart.cs 프로젝트: sdcb/Ecd2Pem
        public PemPart GetPartByType(PemPartTypes type)
        {
            int offset = 0;

            while (offset < Body.Length)
            {
                var currentType = Body[offset];
                if (currentType == (byte)type)
                {
                    return(Create(Body, offset));
                }
                offset += 2 + Body[offset + 1];
            }

            throw new KeyNotFoundException(nameof(type));
        }