/** * Read a Key Pair */ public object ParseObject( PemObject obj) { bool isEncrypted = false; String dekInfo = null; IList headers = obj.Headers; for (IEnumerator it = headers.GetEnumerator(); it.MoveNext();) { PemHeader hdr = (PemHeader)it.Current; if (hdr.Name.Equals("Proc-Type") && hdr.Value.Equals("4,ENCRYPTED")) { isEncrypted = true; } else if (hdr.Name.Equals("DEK-Info")) { dekInfo = hdr.Value; } } // // extract the key // byte[] keyBytes = obj.GetContent(); try { if (isEncrypted) { return(new OpenSslEncryptedObject(obj.Type, dekInfo, keyBytes, pemKeyPairParser)); } return(pemKeyPairParser.Parse(keyBytes)); } catch (IOException e) { if (isEncrypted) { throw new OpenSslPemParsingException("exception decoding - please check password and data.", e); } else { throw new OpenSslPemParsingException(e.Message, e); } } catch (ArgumentException e) { if (isEncrypted) { throw new OpenSslPemParsingException("exception decoding - please check password and data.", e); } else { throw new OpenSslPemParsingException(e.Message, e); } } }
public override bool Equals(object obj) { if (obj == this) { return(true); } if (!(obj is PemHeader)) { return(false); } PemHeader pemHeader = (PemHeader)obj; return(object.Equals(name, pemHeader.name) && object.Equals(val, pemHeader.val)); }
public override bool Equals(object obj) { if (obj == this) { return(true); } if (!(obj is PemHeader)) { return(false); } PemHeader other = (PemHeader)obj; return(object.Equals(this.Name, other.Name) && object.Equals(this.Value, other.Value)); }
public override bool Equals(object obj) { if (obj == this) { return(true); } if (!(obj is PemHeader)) { return(false); } PemHeader other = (PemHeader)obj; return(Platform.Equals(this.name, other.name) && Platform.Equals(this.val, other.val)); }
public override bool Equals(object obj) { if (obj == this) { return(true); } if (!(obj is PemHeader)) { return(false); } PemHeader pemHeader = (PemHeader)obj; if (object.Equals((object)name, (object)pemHeader.name)) { return(object.Equals((object)val, (object)pemHeader.val)); } return(false); }