Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problems importing from 1password #23

Closed
acroca opened this issue Jan 16, 2018 · 7 comments
Closed

Problems importing from 1password #23

acroca opened this issue Jan 16, 2018 · 7 comments
Assignees

Comments

@acroca
Copy link

acroca commented Jan 16, 2018

Hi,

I've run into some issues importing from 1 password:

  • The CSV headers are like Password and not password, so the checker fails. this seems very easy to fix
  • The tags are in a weird format {(\ntag\n)} and it ends up pretty weird in the imported entries

But the main problem I have is with custom data. I have some entries in 1password with custom fields and they are not exported in the CSV (since they are freeform). I think the importer should use 1pif files instead of the CSV because they contain all data available and it looks easy to parse.

@roddhjav
Copy link
Owner

roddhjav commented Jan 16, 2018

Hi, could you give me more information in order to help you.

  • What version of 1password do you have on which OS?
  • What importer did you use (1password or 1password4)
  • What is the exact CSV header you have?

I could add the support for 1pif file in the future.

@acroca
Copy link
Author

acroca commented Jan 17, 2018

  • I use 1password 6.8.5 for Mac
  • pass import -e -v 1password file.csv
  • I exported all fields in the exporter:
"account number(accountNo)","address(address)","address(branchAddress)","admin console URL(admin_console_url)","admin console username(admin_console_username)","AirPort ID(airport_id)","alias(alias)","AOL/AIM(aim)","approved wildlife(game)","attached storage password(disk_password)","auth​ method(pop_authentication)","auth​ method(smtp_authentication)","bank name(bankName)","base station name(name)","base station password(password)","birth date(birthdate)","business(busphone)","cardholder name(cardholder)","cash withdrawal limit(cashLimit)","company name(company_name)","company(company)","conditions / restrictions(conditions)","connection options(options)","console password(admin_console_password)","country(country)","county(state)","Created Date","credit limit(creditLimit)","customer service phone(customer_service_phone)","database(database)","date of birth(birthdate)","default phone(defphone)","department(department)","download page(download_link)","email(email)","expires(expires)","expiry date(expiry_date)","expiry date(expiry)","first name(firstname)","forum signature(forumsig)","full name(fullname)","full name(name)","group(org_name)","height(height)","home(homephone)","IBAN(iban)","ICQ(icq)","initial(initial)","interest rate(interest)","issue number(issuenumber)","issued on(issue_date)","issuing authority(issuing_authority)","issuing bank(bank)","issuing country(issuing_country)","job title(jobtitle)","last name(lastname)","licence class(class)","licence key(reg_code)","licensed to(reg_name)","maximum quota(quota)","member ID (additional)(additional_no)","member ID(membership_no)","member name(member_name)","member since(member_since)","mobile(cellphone)","Modified Date","MSN(msn)","name on account(owner)","name(name)","nationality(nationality)","network name(network_name)","Notes","number(ccnum)","number(number)","occupation(occupation)","order number(order_number)","order total(order_total)","Password","password(password)","password(pin)","password(pop_password)","password(smtp_password)","phone (freephone)(phone_tollfree)","phone (freephone)(phoneTollFree)","phone (intl)(phoneIntl)","phone (local)(phone_local)","phone (local)(phoneLocal)","phone for reserva​tions(reservations_phone)","phone(branchPhone)","PIN(pin)","PIN(telephonePin)","place of birth(birthplace)","port number(pop_port)","port number(smtp_port)","port(port)","provider's website(provider_website)","provider(provider)","publisher(publisher_name)","purchase date(order_date)","registered email(reg_email)","reminder answer(remindera)","reminder question(reminderq)","retail price(retail_price)","routing number(routingNo)","Scope","security(pop_security)","security(smtp_security)","server / IP address(server)","server(hostname)","server(pop_server)","sex(sex)","SID(sid)","skype(skype)","SMTP server(smtp_server)","state(state)","support email(support_email)","support phone(support_contact_phone)","support URL(support_contact_url)","SWIFT(swift)","Tags","telephone(phone)","Title","Type","type(accountType)","type(database_type)","type(pop_type)","type(type)","URL","URL(url)","Username","username(pop_username)","username(smtp_username)","username(username)","valid from(valid_from)","valid from(validFrom)","verification number(cvv)","version(product_version)","website(publisher_website)","website(website)","wireless network password(wireless_password)","wireless security(wireless_security)","Yahoo(yahoo)",

That included all the fields managed by 1password, but not custom ones. For example, for website with security questions I add custom fields with the answers. For example, if they ask me about my dream job I have a field like dream job as a key and blah as a password value, and this field is not getting exported.
1pif has all fields, I feel is a much better choice.

@roddhjav
Copy link
Owner

So its seem guys at 1password are not able to have consistent csv header file. This header is completely different from the reference header used to test the import. See https://github.com/roddhjav/pass-import/blob/master/tests/db/1password.csv

Nevertheless, you are right 1pif seems to be a way better solution. However, it requires to add a bit of code, nothing to fancy, but I won't have the time to implement it before next month.

@acroca
Copy link
Author

acroca commented Feb 15, 2018

I ended up using kdbx (keepass) instead and I wrote a quick-and-dirty conversion script to convert from opvault to kdbx.
I managed to get all the info out of 1password using my fork of https://github.com/miquella/opvault, a go library to read opvault files.

@cfeckardt
Copy link

cfeckardt commented Feb 27, 2018

I've begun working on implementing this.
I have a sort of working implementation here:

https://github.com/cfeckardt/pass-import/tree/onepasswordpif

I'll try to finish it this week.

Don't judge my code too harshly, im not a python dev. It'll be cleaned up and niceified before a PR comes.

@roddhjav
Copy link
Owner

I had a look at your implementation, it seems to be a good start, do not hesitate to make a PR when you think its ready.

@roddhjav roddhjav self-assigned this Mar 8, 2018
@roddhjav
Copy link
Owner

Fixed with pass-tomb 2.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants