|
|
|
Сертификат в строковой переменной и его расшифровка
|
|||
|---|---|---|---|
|
#18+
Добрый день, уважаемое сообщество Бьюсь уже больше недели над следующей задачей: 1. есть информационная система, в БД сей системы хранится сертификат 2. в своем коде я получаю данный сертификат и размещаю его в String-е, Код: java 1. -----BEGIN CERTIFICATE----- MIII1QYJKoZIhvcNAQcCoIIIxjCCCMICAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwGgggZhMIIGXTCCBUWgAwIBAgIEH+9ohTANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCREUxEDAOBgNVBAoMB1NpZW1lbnMxETAPBgNVBAUTCFpaWlpaWlkyMTowOAYDVQQLDDFDb3B5cmlnaHQgKEMpIFNpZW1lbnMgQUcgMjAxMyBBbGwgUmlnaHRzIFJlc2VydmVkMSgwJgYDVQQDDB9TaWVtZW5zIElzc3VpbmcgQ0EgRUUgQXV0aCAyMDEzMB4XDTE2MDcxOTE1MzYzOVoXDTE5MDcxOTE1MzYzOVowZTERMA8GA1UEBRMIWjAwM0EyQVkxDzANBgNVBCoMBkFuZHJleTESMBAGA1UEBAwJU2x5dW55YWV2MRAwDgYDVQQKDAdTaWVtZW5zM,RkwFwYDVQQDDBBTbHl1bnlhZXYgQW5kcmV5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgwnt5QkByovf5lTFzivNp2rB2jVY+IP4Zz0rjswEwLI7ihFXiakiFXwCprCdPHpdTCBYuGAluBfp+dij+KLwytpPDncDLPYAERsJuircXPt453PS4LDNwGs1oxpkzmzSMIl9ZkSsS9MugWGQDCCaK0mKpLn5NT2xEFrOHyneYLHIV+pX5WOTrCNo3lDSUh6NZZLOhqkX5WK3omBNv8eLpv5G/v8yXxAuTTEkzlPgsVWwSJznVIYb1FrV2dm9BXEYBSguWOxdDKsPrX32bgTcESVCW1aHDSbZr43OKdOV7xgzVTp+XFBvBVRVB+BkzkE2wFGxwSgzs/WWynokqM7dqQIDAQABo4IC3zCCAtswMwYDVR0lBCwwKgYIKwYBBQUHAwIGCCsGAQUFBwMEBgorBgEEAYI3FAICBggrB,gEFBQgCAjCBygYDVR0fBIHCMIG/MIG8oIG5oIG2hiZodHRwOi8vY2guc2llbWVucy5jb20vcGtpP1paWlpaWlkyLmNybIZBbGRhcDovL2NsLnNpZW1lbnMubmV0L0NOPVpaWlpaWlkyLEw9UEtJP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3SGSWxkYXA6Ly9jbC5zaWVtZW5zLmNvbS9DTj1aWlpaWlpZMixvPVRydXN0Y2VudGVyP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3QwGgYDVR0gBBMwETAPBg0rBgEEAaFpBwICAwEBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAU3pQ/S2pfWE4UGMlG1xQ5wpwhPCkwggEEBggrBgEFBQcBAQSB9zCB9DAyBggrBgEFBQcwAoYmaHR0cDovL2FoLnNpZW1lbnMuY29tL3BraT9aWlpaWlpZMi5jcnQwQQYIKwYBBQUHMAKGNWx,kYXA6Ly9hbC5zaWVtZW5zLm5ldC9DTj1aWlpaWlpZMixMPVBLST9jQUNlcnRpZmljYXRlMEkGCCsGAQUFBzAChj1sZGFwOi8vYWwuc2llbWVucy5jb20vQ049WlpaWlpaWTIsbz1UcnVzdGNlbnRlcj9jQUNlcnRpZmljYXRlMDAGCCsGAQUFBzABhiRodHRwOi8vb2NzcC5wa2ktc2VydmljZXMuc2llbWVucy5jb20wDgYDVR0PAQH/BAQDAgeAMFUGA1UdEQROMEygLAYKKwYBBAGCNxQCA6AeDBxhbmRyZXkuc2x5dW55YWV2QHNpZW1lbnMuY29tgRxhbmRyZXkuc2x5dW55YWV2QHNpZW1lbnMuY29tMB0GA1UdDgQWBBQExNDJjMps0iDu16+apbUb57BuXDANBgkqhkiG9w0BAQsFAAOCAQEAJXe0I5wOEngsP8gGQVqqWhUepw85BVDPxd92+CH8WetJ+BwpHHEVMseIFjW,YK3C1VxonJjJdwRzJ8p/DDzNglE+fyiwlhGnCOESPTZISAQGEKMGtt2dy+DoA4liCvLhiB6u3UDZsG2NmZqRWSssz/m707QVQt1hsIRvmYzV0HdkQDnIxP0UlfVkb42Yd9GNSSJ4vtEjv0E4fzUkMUjQvo1GoEaRmeaMWa0BgqyeMCjetO3H+mO5yOjkHe2R39578RgrHTeBJgi22qEpBu6pueq8jrbHJRGb59xI05Ut4Kr5Hcnul9aPx8fWgD7uBGn9mNABqIdSqQE4hLCpX2wThYTGCAjgwggI0AgEBMIGhMIGYMQswCQYDVQQGEwJERTEQMA4GA1UECgwHU2llbWVuczERMA8GA1UEBRMIWlpaWlpaWTIxOjA4BgNVBAsMMUNvcHlyaWdodCAoQykgU2llbWVucyBBRyAyMDEzIEFsbCBSaWdodHMgUmVzZXJ2ZWQxKDAmBgNVBAMMH1NpZW1lbnMgSXNzdWluZyBDQSBFRSBBd,XRoIDIwMTMCBB/vaIUwDQYJYIZIAWUDBAIBBQCgaTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xNzA1MTUwOTUyNTBaMC8GCSqGSIb3DQEJBDEiBCBCA/fR9wGftKzKFZRuIDJVbYiaHzsDteoUoUL55kMrYDANBgkqhkiG9w0BAQEFAASCAQAgGHJtra9zjZf6APOR+SyzsEebV8NtTZ0oNY3p7r0+KDM4ABZMPGo1hYaI9Vt2UFPxUDeXw4hVyU6lrsvGDMUrP375LM9phZ3ZGIpWFWaLaLds21gOdOKy9Skbxf3ktrLbxjOMG2RJY8zjo6ol4ZzD6Y+IsU63pGOkzfJ2/Lm1L1ZhUx2emWHAE96FTWbL8MXS2aTiYIHgmtwtVGw/hmgwq6nfI0kCyj0r0oqbB7/VOTxWmAWhoCNFUoMzG3S2F17kuveDTz1zuQuNVYsSLSBgk2F6sUJK0cZVkpP,+VDaEAFKRuJdGv/gD+bURJ4DCEQshQ7EAJIjmN7gPwBkaPuGM -----END CERTIFICATE----- Полученный сертификат без проблем расшифровывается вот таким сервисом https://certlogik.com/decoder/ т.е. можно говорить, что сертификат извлекается "нормальным" 3. И есть мой код с которым проблема: Код: java 1. 2. 3. При его выполнении получаю ошибку: java.security.cert.CertificateException java.security.cert.CertificateException: Unable to initialize, java.io.IOException: extra data given to DerValue constructor at sun.security.x509.X509CertImpl.(X509CertImpl.java:199) at sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:98) Сил уже нет, не могу понять в чём проблема и как её разрешить. Буду благодарен за любую помощь, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 11:28 |
|
||
|
Сертификат в строковой переменной и его расшифровка
|
|||
|---|---|---|---|
|
#18+
У меня - норм работает. JDK 1.8.0_91 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 16:01 |
|
||
|
Сертификат в строковой переменной и его расшифровка
|
|||
|---|---|---|---|
|
#18+
О, у меня JDK 1.7.0_80 Как бы вы поступили, если нужно, что бы этот код работал но Java должна быть 7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 16:45 |
|
||
|
Сертификат в строковой переменной и его расшифровка
|
|||
|---|---|---|---|
|
#18+
Пока не знаю. Я даже не вижу в какой строке у тебя CertificateException. Может быть как в перовой так и во второй. Вспомни какие изменнения ты вносил в JRE? Добавлял что-то в ext? Изменял конфиги в jre/lib/security? Разверни еще один экземпляр JDK7 возможно все заработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 17:03 |
|
||
|
Сертификат в строковой переменной и его расшифровка
|
|||
|---|---|---|---|
|
#18+
по идее между -----BEGIN CERTIFICATE----- и -----END CERTIFICATE----- должен быть валидный base64 но я вижу там запятые... W5zM,RkwF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 18:21 |
|
||
|
Сертификат в строковой переменной и его расшифровка
|
|||
|---|---|---|---|
|
#18+
Попробовал, но увы, сей божественный код не работает:( Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Одаривает меня: java.security.cert.CertificateException java.security.cert.CertificateException: Unable to initialize, java.io.IOException: extra data given to DerValue constructor at sun.security.x509.X509CertImpl.<init>(X509CertImpl.java:199) at sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:98) at java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:339) at com.splm.test.menus.handlers.TouchMeHandler.execute(TouchMeHandler.java:151) at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293) at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499) at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169) at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241) at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:829) at org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:815) at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:805) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at com.teamcenter.rac.aifrcp.Application.runApplication(Unknown Source) at com.teamcenter.rac.aifrcp.Application.start(Unknown Source) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) at org.eclipse.equinox.launcher.Main.run(Main.java:1438) at org.eclipse.equinox.launcher.Main.main(Main.java:1414) Caused by: java.io.IOException: extra data given to DerValue constructor at sun.security.util.DerValue.init(DerValue.java:384) at sun.security.util.DerValue.<init>(DerValue.java:294) at sun.security.x509.X509CertImpl.<init>(X509CertImpl.java:196) ... 37 more ERROR: 18:21:08,106 - TcLogger$IC_PrintStream.log:? at sun.security.x509.X509CertImpl.<init>(X509CertImpl.java:199) ERROR: 18:21:08,106 - TcLogger$IC_PrintStream.log:? at sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:98) ERROR: 18:21:08,106 - TcLogger$IC_PrintStream.log:? at java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:339) ERROR: 18:21:08,106 - TcLogger$IC_PrintStream.log:? at com.splm.test.menus.handlers.TouchMeHandler.execute(TouchMeHandler.java:151) ERROR: 18:21:08,106 - TcLogger$IC_PrintStream.log:? at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293) ERROR: 18:21:08,107 - TcLogger$IC_PrintStream.log:? at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499) ERROR: 18:21:08,107 - TcLogger$IC_PrintStream.log:? at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) ERROR: 18:21:08,108 - TcLogger$IC_PrintStream.log:? at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169) ERROR: 18:21:08,108 - TcLogger$IC_PrintStream.log:? at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241) ERROR: 18:21:08,108 - TcLogger$IC_PrintStream.log:? at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:829) ERROR: 18:21:08,108 - TcLogger$IC_PrintStream.log:? at org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:815) ERROR: 18:21:08,109 - TcLogger$IC_PrintStream.log:? at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:805) ERROR: 18:21:08,109 - TcLogger$IC_PrintStream.log:? at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) ERROR: 18:21:08,110 - TcLogger$IC_PrintStream.log:? at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) ERROR: 18:21:08,110 - TcLogger$IC_PrintStream.log:? at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) ERROR: 18:21:08,110 - TcLogger$IC_PrintStream.log:? at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at com.teamcenter.rac.aifrcp.Application.runApplication(Unknown Source) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at com.teamcenter.rac.aifrcp.Application.start(Unknown Source) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ERROR: 18:21:08,111 - TcLogger$IC_PrintStream.log:? at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ERROR: 18:21:08,118 - TcLogger$IC_PrintStream.log:? at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ERROR: 18:21:08,118 - TcLogger$IC_PrintStream.log:? at java.lang.reflect.Method.invoke(Method.java:606) ERROR: 18:21:08,119 - TcLogger$IC_PrintStream.log:? at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) ERROR: 18:21:08,119 - TcLogger$IC_PrintStream.log:? at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) ERROR: 18:21:08,120 - TcLogger$IC_PrintStream.log:? at org.eclipse.equinox.launcher.Main.run(Main.java:1438) ERROR: 18:21:08,121 - TcLogger$IC_PrintStream.log:? at org.eclipse.equinox.launcher.Main.main(Main.java:1414) ERROR: 18:21:08,121 - TcLogger$IC_PrintStream.log:? Caused by: java.io.IOException: extra data given to DerValue constructor ERROR: 18:21:08,122 - TcLogger$IC_PrintStream.log:? at sun.security.util.DerValue.init(DerValue.java:384) ERROR: 18:21:08,122 - TcLogger$IC_PrintStream.log:? at sun.security.util.DerValue.<init>(DerValue.java:294) ERROR: 18:21:08,122 - TcLogger$IC_PrintStream.log:? at sun.security.x509.X509CertImpl.<init>(X509CertImpl.java:196) ERROR: 18:21:08,123 - TcLogger$IC_PrintStream.log:? ... 37 more я к сожалению не проф-ый разработчик, но иногда приходится писать немного кода для решения очень прикладных задач, вот сертификаты меня сломали:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 18:25 |
|
||
|
Сертификат в строковой переменной и его расшифровка
|
|||
|---|---|---|---|
|
#18+
если убрать запятые и заменить cf.generateCertificate на cf.generateCertificate s то должно работать Код: java 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 18:40 |
|
||
|
Сертификат в строковой переменной и его расшифровка
|
|||
|---|---|---|---|
|
#18+
Dmitry., Да вроде запятые это нормально для base64 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 18:45 |
|
||
|
Сертификат в строковой переменной и его расшифровка
|
|||
|---|---|---|---|
|
#18+
А нет, только + и / ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 18:49 |
|
||
|
Сертификат в строковой переменной и его расшифровка
|
|||
|---|---|---|---|
|
#18+
rfc3548 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 18:50 |
|
||
|
Сертификат в строковой переменной и его расшифровка
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 19:18 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=68&tid=2122919]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 200ms |
| total: | 325ms |

| 0 / 0 |
