{"action":"created","issue":{"url":"https://api.github.com/repos/golang/go/issues/14129","repository_url":"https://api.github.com/repos/golang/go","labels_url":"https://api.github.com/repos/golang/go/issues/14129/labels{/name}","comments_url":"https://api.github.com/repos/golang/go/issues/14129/comments","events_url":"https://api.github.com/repos/golang/go/issues/14129/events","html_url":"https://github.com/golang/go/issues/14129","id":129416876,"number":14129,"title":"crypto/x509: parsing of certificates with exponent length > 32bit fails on GOARCH=386","user":{"login":"nurio","id":135987,"avatar_url":"https://avatars.githubusercontent.com/u/135987?v=3","gravatar_id":"","url":"https://api.github.com/users/nurio","html_url":"https://github.com/nurio","followers_url":"https://api.github.com/users/nurio/followers","following_url":"https://api.github.com/users/nurio/following{/other_user}","gists_url":"https://api.github.com/users/nurio/gists{/gist_id}","starred_url":"https://api.github.com/users/nurio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nurio/subscriptions","organizations_url":"https://api.github.com/users/nurio/orgs","repos_url":"https://api.github.com/users/nurio/repos","events_url":"https://api.github.com/users/nurio/events{/privacy}","received_events_url":"https://api.github.com/users/nurio/received_events","type":"User","site_admin":false},"labels":[{"id":150880249,"url":"https://api.github.com/repos/golang/go/labels/Go2","name":"Go2","color":"ffaaaa","default":false}],"state":"open","locked":false,"assignee":{"login":"agl","id":21203,"avatar_url":"https://avatars.githubusercontent.com/u/21203?v=3","gravatar_id":"","url":"https://api.github.com/users/agl","html_url":"https://github.com/agl","followers_url":"https://api.github.com/users/agl/followers","following_url":"https://api.github.com/users/agl/following{/other_user}","gists_url":"https://api.github.com/users/agl/gists{/gist_id}","starred_url":"https://api.github.com/users/agl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agl/subscriptions","organizations_url":"https://api.github.com/users/agl/orgs","repos_url":"https://api.github.com/users/agl/repos","events_url":"https://api.github.com/users/agl/events{/privacy}","received_events_url":"https://api.github.com/users/agl/received_events","type":"User","site_admin":false},"assignees":[{"login":"agl","id":21203,"avatar_url":"https://avatars.githubusercontent.com/u/21203?v=3","gravatar_id":"","url":"https://api.github.com/users/agl","html_url":"https://github.com/agl","followers_url":"https://api.github.com/users/agl/followers","following_url":"https://api.github.com/users/agl/following{/other_user}","gists_url":"https://api.github.com/users/agl/gists{/gist_id}","starred_url":"https://api.github.com/users/agl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agl/subscriptions","organizations_url":"https://api.github.com/users/agl/orgs","repos_url":"https://api.github.com/users/agl/repos","events_url":"https://api.github.com/users/agl/events{/privacy}","received_events_url":"https://api.github.com/users/agl/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/golang/go/milestones/38","html_url":"https://github.com/golang/go/milestones/Go1.8","labels_url":"https://api.github.com/repos/golang/go/milestones/38/labels","id":1709363,"number":38,"title":"Go1.8","description":"","creator":{"login":"griesemer","id":8528975,"avatar_url":"https://avatars.githubusercontent.com/u/8528975?v=3","gravatar_id":"","url":"https://api.github.com/users/griesemer","html_url":"https://github.com/griesemer","followers_url":"https://api.github.com/users/griesemer/followers","following_url":"https://api.github.com/users/griesemer/following{/other_user}","gists_url":"https://api.github.com/users/griesemer/gists{/gist_id}","starred_url":"https://api.github.com/users/griesemer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/griesemer/subscriptions","organizations_url":"https://api.github.com/users/griesemer/orgs","repos_url":"https://api.github.com/users/griesemer/repos","events_url":"https://api.github.com/users/griesemer/events{/privacy}","received_events_url":"https://api.github.com/users/griesemer/received_events","type":"User","site_admin":false},"open_issues":158,"closed_issues":533,"state":"open","created_at":"2016-04-15T16:30:23Z","updated_at":"2016-11-03T13:47:55Z","due_on":"2017-01-31T00:00:00Z","closed_at":null},"comments":6,"created_at":"2016-01-28T10:55:07Z","updated_at":"2016-11-03T13:47:55Z","closed_at":null,"body":"1.) What version of Go are you using (go version)?\ngo1.6beta2 \n2.) What operating system and processor architecture are you using?\nArchitecture: 386 OS: windows\n3.) What did you do?\nTried to parse a valid X.509 certificate using the public key exponent \"4044784889\" (0xf11684f9) with crypto/x509.ParseCertificate()\n4.) What did you expect to see?\nCertificate parses without error\n5.) What did you see instead?\nParsing the certificate fails under Windows GOARCH=386 with \"asn1: structure error: integer too large\". It works correctly if compiled with GOARCH=amd64 and running on a 64bit OS.\n\nMost certificates use 65537 as exponent which works fine, however according to NIST\n\"applications should be able to process RSA public keys that have any public exponent\nthat is an odd positive integer greater than or equal to 65537 and less than 2^256.\"\n\n[NIST Cryptographic Algorithms and Key Sizes for Personal Identity Verification](http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-78-4.pdf)\n\nSimple go program containing a test certificate to reproduce the error:\n[test_cert_fail.go](https://github.com/golang/go/files/108045/test_cert_fail.go.txt)\n"},"comment":{"url":"https://api.github.com/repos/golang/go/issues/comments/258146622","html_url":"https://github.com/golang/go/issues/14129#issuecomment-258146622","issue_url":"https://api.github.com/repos/golang/go/issues/14129","id":258146622,"user":{"login":"rsc","id":104030,"avatar_url":"https://avatars.githubusercontent.com/u/104030?v=3","gravatar_id":"","url":"https://api.github.com/users/rsc","html_url":"https://github.com/rsc","followers_url":"https://api.github.com/users/rsc/followers","following_url":"https://api.github.com/users/rsc/following{/other_user}","gists_url":"https://api.github.com/users/rsc/gists{/gist_id}","starred_url":"https://api.github.com/users/rsc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rsc/subscriptions","organizations_url":"https://api.github.com/users/rsc/orgs","repos_url":"https://api.github.com/users/rsc/repos","events_url":"https://api.github.com/users/rsc/events{/privacy}","received_events_url":"https://api.github.com/users/rsc/received_events","type":"User","site_admin":false},"created_at":"2016-11-03T13:47:55Z","updated_at":"2016-11-03T13:47:55Z","body":"I don't think there have been enough reports about needing a fix for this to pollute the API with something like E64. Maybe for Go 2 we can think about making it an int64 for better portability."}}
{"actor":{"display_login":"rsc"}}