GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — initial implementation of Token Binding Extension TLS by inthirakumaaran · Pull Request #261 · bcgit/bc-java

Conversation

@inthirakumaaran

@inthirakumaaran inthirakumaaran commented Nov 28, 2017

Copy link
Copy Markdown

Hi,
This PR consists the implementation of Token binding extension to TLS layer.This implementation is done on the client side and Token binding extension is added to client Hello.

There are two new classes introduced

  1. TokenBindingExtension - contains the basic parameters to negotiate
  2. NegotiatedTokenBinding - captures the negotiated parameters

Validation of negotiated parameters is happening in NegotiatedTokenBindingClass and processTokenBindingExtension method in Tls protocol class.

The EKM is added after establishing the master secret in Tls client protocol class.

Negotiated values are saved in NegotiatedTokenBinding class and that class is added as an attribute to security parameters.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
inthirakumaaran added 3 commits November 28, 2017 10:47
@inthirakumaaran
added Token binding Extension
45f5835
@inthirakumaaran
format code
00474f0
@inthirakumaaran
.iml file deleted
a8aa50b
@peterdettman

peterdettman commented Dec 12, 2017

Copy link
Copy Markdown
Collaborator

Thanks for the PR. Sorry for the delay, I'll try to get to it shortly.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@inthirakumaaran

inthirakumaaran commented Dec 13, 2017 via email

Copy link
Copy Markdown
Author
okay :)
…
On Tue, Dec 12, 2017 at 11:20 AM, Peter Dettman ***@***.***> wrote: Thanks for the PR. Sorry for the delay, I'll try to get to it shortly. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#261 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AQyE9erYdiI-Z0cIRrFeKvAF9J4d2a62ks5s_hQZgaJpZM4QsuRO> .
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

kasunbg
kasunbg reviewed Dec 19, 2017
View reviewed changes
Comment thread tls/src/main/java/org/bouncycastle/tls/NegotiatedTokenBinding.java Outdated

public class NegotiatedTokenBinding {

String selectedKeyParameter;

@kasunbg kasunbg Dec 19, 2017

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you verify whether the default access modifier suits here?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
kasunbg
kasunbg reviewed Dec 19, 2017
View reviewed changes
Comment thread tls/src/main/java/org/bouncycastle/tls/AbstractTlsClient.java Outdated

//add TokenBinding Extension
TokenBindingExtension tokenBindingExtension =new TokenBindingExtension();
TlsExtensionsUtils.addTokenBindingExtension(clientExtensions,tokenBindingExtension);

@kasunbg kasunbg Dec 19, 2017

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better format the code.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
kasunbg
kasunbg reviewed Dec 19, 2017
View reviewed changes
Comment thread tls/src/main/java/org/bouncycastle/tls/NegotiatedTokenBinding.java Outdated
}else if (serverdata[3]==1){
this.setSelectedKeyParameter("rsa2048_pss");
}else if (serverdata[3]==2){
this.setSelectedKeyParameter("rsa2048_ecdsap256");

@kasunbg kasunbg Dec 19, 2017

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use constants for key parameters.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
kasunbg
kasunbg reviewed Dec 19, 2017
View reviewed changes
Comment thread tls/src/main/java/org/bouncycastle/tls/TokenBindingExtension.java
import java.util.List;


public class TokenBindingExtension {

@kasunbg kasunbg Dec 19, 2017

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

class comments will make it easier to understand the code

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
kasunbg
kasunbg reviewed Dec 19, 2017
View reviewed changes
Comment thread tls/src/main/java/org/bouncycastle/tls/TokenBindingExtension.java

public static final Integer rsa2048_pcks15 = 0;
public static final Integer rsa2048_pss = 1;
public static final Integer rsa2048_ecdsap256 = 2;

@kasunbg kasunbg Dec 19, 2017

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should these be in upper case since these are constants? Do contrast with the token binding spec as well.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@inthirakumaaran inthirakumaaran Dec 20, 2017

Copy link
Copy Markdown
Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spec always denote them in the simple letters

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
inthirakumaaran added 2 commits December 20, 2017 15:18
@inthirakumaaran
class comments added
f3c698c
@inthirakumaaran
fixed requested change
da549a4
@kasunbg kasunbg mentioned this pull request Jan 10, 2018
Token Binding Support in TLS extension #250
Open
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

1 more reviewer
@kasunbg kasunbg kasunbg left review comments
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@inthirakumaaran @peterdettman @kasunbg
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.